【发布时间】:2012-04-22 00:28:20
【问题描述】:
如果这个问题在某个地方得到了回答,我深表歉意,但我不确定我的措辞是否适合 Google,而且我还没有在任何风格指南中看到它。
既然 Ruby 有多种方法可以在条件中显示否定性,那么编写检查一部分为真另一部分为假的条件的首选方法是什么?示例:
if array && !array.include?('Bob')
#do stuff!
但你也可以说:
if array
#do stuff! unless array.include?('Bob')
或:
if array && not array.include?('Bob')
#do stuff
或:
if !array.nil? && !array.include?('Bob')
或者一个古怪的双除非:
unless array.nil?
#do stuff unless array.include?('Bob')
还有其他几个。有什么想法被认为是最 Rubyish 的吗?支持您观点的来源?
【问题讨论】:
-
在给定的上下文中做任何最可读的事情,但需要注意的是,“可读”通常是一个偏好问题。
-
请注意precedence of
!andnotare not the same(如&&/||&and/or),虽然我不认为它对您的示例有影响,但值得了解。
标签: ruby coding-style logic