- 在
elsif
上使用else if
是否安全? - 使用
elsif
是否更好,因为它遵循 Ruby 的类型 惯例? - 或者这是一种偏好?
这是摘自一本书的一段代码。我添加了额外的 end
关键字并将 elsif
关键字替换为 else if
。
def describe(inhabitant)
if inhabitant == "sophie"
puts 'gender: female'
puts 'height: 145'
else if inhabitant == "paul"
puts 'gender: male'
puts 'height: 145'
else if inhabitant == "dawn"
puts 'gender: female'
puts 'height: 170'
else if inhabitant == "brian"
puts 'gender: male'
puts 'height: 180'
else if
puts 'species: Trachemys scripta elegans'
puts 'height: 6'
end
end
end
end
end
end
这让我意识到 else if
是多么丑陋。
最佳答案
您可以使用 else if
并且它是安全的。但是请注意,这意味着需要额外的 end
关键字。
if n == 1
puts "foo"
elsif n == 2
puts "bar"
end
逻辑上等同于:
if n == 1
puts "foo"
else if n == 2
puts "bar"
end
end
或等价物:
if n == 1
puts "foo"
else
if n == 2
puts "bar"
end
end
关于ruby - 我可以使用 `else if` 而不是 `elsif` 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859386/