Atu*_*hav 1 ruby ruby-on-rails
如何打印消息,然后从使用ruby的函数返回?
2.3.4 :038 > def foo(num)
2.3.4 :039?> print "Your number is: #{num}" && return if num > 10
2.3.4 :040?> print "Number too small"
2.3.4 :041?> end
=> :foo
2.3.4 :042 > foo(47)
=> nil
2.3.4 :043 > foo(7)
Number too small => nil
2.3.4 :044 >
Run Code Online (Sandbox Code Playgroud)
当我用foo打电话给我时,47为什么没有得到Your number is: 47输出?
PS:也可以用其他更简单的方式编写此函数,我只是想通过此函数表达我的怀疑。
因为Ruby读到这行
print "Your number is: #{num}" && return if num > 10
Run Code Online (Sandbox Code Playgroud)
像这样
print("Your number is: #{num}" && return) if num > 10
Run Code Online (Sandbox Code Playgroud)
这使得方法return有机会进行print任何尝试。
添加一对括号可以帮助Ruby解析所需的顺序:
print("Your number is: #{num}") || return if num > 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
718 次 |
| 最近记录: |