Ruby TrueClass单管道

前端之家收集整理的这篇文章主要介绍了Ruby TrueClass单管道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
来自文档: http://ruby-doc.org/core-2.2.0/TrueClass.html#method-i-7C
true |  puts("or")
true || puts("logical or")

# produces:

or

>你能解释“单管”何时有用?
>有什么区别?

(仅在TrueClass上下文中(不是Array或Fixnum上下文)

解决方法

当您不需要急切评估或声明时,它非常有用.

例如,如果你有一些方法,它们会做一些有用的事情并且返回true / false,并且只有当这些方法中的任何一个返回true时才应该调用另一个方法,使用|:是有用的.

def action1
  # do something,returns true/false
end

def action2
  # do something,returns true/false
end

def result_action
  # do something 
end

result_action if action1 | action2

如果你使用逻辑||相反,如果action1返回true,则不会调用action2(尽管会调用result_action)

猜你在找的Ruby相关文章