在测试条件之前运行一次

有时,在测试条件之前,有人想要运行一些初始化代码。在某些其他语言中,这种循环具有特殊的 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