当我运行以下代码时:
if
puts "A"
elsif
puts "B"
end
我得到输出:
A
B
为什么它不警告或不引发任何错误?为什么它执行两个分支?
最佳答案
an if-elsif without conditions
这就是你错的地方。 put
是条件。该片段中没有正文,只有条件。
这是您的代码,格式正确。
if puts "A"
elsif puts "B"
end
And why it executes both branches?
puts
返回 nil,一个错误的值。这就是它尝试两个分支的原因。如果此代码有 else
,它也会被执行。
关于ruby - 没有条件的 if-elsif 在 Ruby 中不能正确分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46909903/