Bil*_*ljk 3 ruby syntax if-statement
假设您使用的ifRuby语法如下:
if foo == 3: puts "foo"
elsif foo == 5: puts "foobar"
else puts "bar"
end
有没有办法做到这一点,所以Ruby在if语句中执行两件事,比如说:
if foo == 3
    puts "foo"
    foo = 1
elsif foo = ...
我怎么能这样做,所以我可以使用第一个语法放两个语句?
if foo == 3: puts "foo"; puts "baz"
elsif foo == 5: puts "foobar"
else puts "bar"
end
但是,我建议不要这样做.
Ruby允许分号在单行上分隔语句,因此您可以执行以下操作:
if foo == 3: puts "foo"; puts "bar"
elsif foo == 5: puts "foobar"
else puts "bar"
end
为了整洁,我可能会终止两个语句;:
if foo == 3: puts "foo"; puts "bar";
elsif foo == 5: puts "foobar"
else puts "bar"
end
除非你有一个很好的理由,否则我不会这样做,因为它对可读性有影响.if具有多个语句的普通块更容易阅读.