Array.empty的相反方法是什么? 或 .empty? 在ruby
我意识到我可以做到
unless [1].empty?
但是我想知道是否有方法?
以及#any?
正如davidrac提到的那样, ActiveSupport中有#present? 这更像是其他语言的真相testing。 对于nil
, false
, ''
, {}
, []
等等,它返回false; 对于其他一切都是真实的(包括0,有趣)。
你可以使用[1].any?
,它实际上是在Enumerable中定义的
请注意,如果你的数组只包含nil或false值,这将不起作用(感谢评论@InternetSeriousBusiness)。
[nil].any? => false [nil].any? {|something| true} => true [].any? {|something| true} => false [false, false].any? {|something| true} => true [nil, 'g'].any? {|something| true} => true
检查数组中的元素:
.empty?
。当下?
如果a = {}
a.any? 。零?
会给你虚假的。
要检查字段是否具有非零值:
.present? .nil? .any?