Ruby条件机制
我正在学习ruby并复习基础知识。在使用条件句之后,我编写了以下代码:Ruby条件机制,ruby,if-statement,Ruby,If Statement,我正在学习ruby并复习基础知识。在使用条件句之后,我编写了以下代码: x = 10 z = 10 if x==10 && (puts "wow" if x == z) puts "hello" end 当我运行它时,我只得到“哇”。有人能解释一下为什么从来没有打印过“你好”吗 谢谢。因为放返回零: def test_method puts "test" end t = test_method #=> "test" p t #=> nil 这意味着如果x
x = 10
z = 10
if x==10 && (puts "wow" if x == z)
puts "hello"
end
当我运行它时,我只得到“哇”。有人能解释一下为什么从来没有打印过“你好”吗
谢谢。因为
放
返回零
:
def test_method
puts "test"
end
t = test_method #=> "test"
p t #=> nil
这意味着
如果x==10&&nil
将被计算为false
。因此,它永远不会进入条件并打印“hello”。put的返回值实际上为零
从本质上讲,该声明所说的是
if x==10 && nil
puts "hello"
end
nil
的值为false
。只要条件中有false,表达式就会自动计算为false。因此,代码块将不会执行。问问自己put
返回什么,以及该结果将如何影响您的条件语句?除了您的问题之外,我不确定我是否理解您试图执行的操作。请注意,(如果x==z,则放置“wow”)
如果x!=10
。如果你想put
“哇”如果x==z
,put
“你好”如果x=10
和z=10
,那么如果x==z;把“哇”;如果x==10,则输入“hello”;结束
。我终于明白了:)。用if x==10&&(p“wow”if x==z)
做了一个测试,我看到了“hello”,非常感谢你的回答。