是否有Rails/Ruby成語來檢查一個枚舉是否存在並且具有非nil
值?.present的Rails成語?和.any?
我得到的錯誤,如果我曾嘗試做nil.any?
,所以我總是必須做if foo && foo.any?
。
是否有Rails/Ruby成語來檢查一個枚舉是否存在並且具有非nil
值?.present的Rails成語?和.any?
我得到的錯誤,如果我曾嘗試做nil.any?
,所以我總是必須做if foo && foo.any?
。
您可以使用的ActiveSupport提供的try
方法:
obj.try(:any?)
這將如果obj.nil?
或false
評估爲nil
如果obj
是空集,所以在這兩種情況下,將評估在一個falsy值一個布爾上下文。
我相信你現在可以使用安全導航操作:
if foo&.any?
剛一說明,這需要的ActiveSupport(自提說:「Rails的/ Ruby「而不僅僅是Rails)。 – 2012-03-20 19:27:02
@Andrew:是的,它是Rails特有的。 – 2012-03-20 19:27:24