在測試條件之前執行一次
有時,在測試條件之前,有人想要執行一些初始化程式碼。在某些其他語言中,這種迴圈具有特殊的 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