在测试条件之前运行一次
有时,在测试条件之前,有人想要运行一些初始化代码。在某些其他语言中,这种循环具有特殊的 do
-while
语法。但是,这个语法可以用常规的 while
循环和 break
语句替换,因此 Julia 没有专门的 do
-while
语法。相反,一个人写道:
local name
# continue asking for input until satisfied
while true
# read user input
println("Type your name, without lowercase letters:")
name = readline()
# if there are no lowercase letters, we have our result!
!any(islower, name) && break
end
请注意,在某些情况下,使用递归可以更清楚地显示此类循环:
function getname()
println("Type your name, without lowercase letters:")
name = readline()
if any(islower, name)
getname() # this name is unacceptable; try again
else
name # this name is good, return it
end
end