gpt4 book ai didi

ruby - Ruby 中的 `until` 和 `until do` 循环有什么区别?

转载 作者:数据小太阳 更新时间:2023-10-29 09:03:09 29 4
gpt4 key购买 nike

c = 5
until c == 0 do
print c
c -= 1
end

/中断

c = 5
until c == 0
print c
c -= 1
end

有什么区别?它们都显示 54321 作为输出。

最佳答案

do 是可选的。它表示要重复执行的代码块的开始。

在您的示例中,这没有区别。但是,如果您尝试在一行中重写代码,您就会明白为什么需要它:

c = 5
until c == 0 do print c; c -= 1 end
# 54321 => nil

现在不用 do 试试这个:

c = 5
until c == 0 print c; c -= 1 end
# SyntaxError: (irb):115: syntax error, unexpected tIDENTIFIER, expecting keyword_do_cond or ';' or '\n'

如您所见, block 没有明确的开始,Ruby 将抛出一个SyntaxError

关于ruby - Ruby 中的 `until` 和 `until do` 循环有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30485280/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com