Sometimes, one wants to run some initialization code once before testing a condition. In certain other languages, this kind of loop has special do
-while
syntax. However, this syntax can be replaced with a regular while
loop and break
statement, so Julia does not have specialized do
-while
syntax. Instead, one writes:
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
Note that in some situations, such loops could be more clear with recursion:
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