ruby - 没有条件的 if-elsif 在 Ruby 中不能正确分支

标签 ruby if-statement

当我运行以下代码时:

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/

相关文章:

ruby-on-rails - 获取 Ruby 变量引用的对象

arrays - Ruby 数组排序 2 种不同的方式

LINQ - if 条件

ruby-on-rails - 如何在 Ruby on Rails 中内联编写条件三元运算符?

java - 如何在我的程序中为随机数分配一个字符串值

ruby 正则表达式提取两部分 : digits, 然后之后的任何内容

ruby - 不运行 mongodb 的 mongoid 单元测试

ruby-on-rails - StatementInvalid SQLite3::SQLException:没有这样的列。将标签系统添加到博客时

linux - 在 if 语句中使用 grep

swift - If语句,在变量递增时满足特定数字的条件