以下是irbshell 中的简单语句.是什么nil在输出是什么意思?为什么它与if块中的print语句一起出现?
irb(main):062:0> if(x==20 && y==30)
irb(main):063:1> print("if statement working !")
irb(main):064:1> else
irb(main):065:1* print("else statement working !!")
irb(main):066:1> end
if statement working !=> nil # what does nil represent here ?
Run Code Online (Sandbox Code Playgroud)
在Ruby中,所有表达式都返回值,即使它是nil.块和方法只返回最后计算的表达式的值.有效地使用它有很多种方法.例如,这就是return经常不使用显式s 的原因.此外,您可以这样做:
print if x == 20 && y == 30
'if statement working!'
else
'else statement working!'
end
Run Code Online (Sandbox Code Playgroud)
关于您的示例:除了按照指示打印字符串外,irb还将显示从if-else块接收的值.由于print始终返回nil,因此两个分支都将返回相同的值.
| 归档时间: |
|
| 查看次数: |
4112 次 |
| 最近记录: |