68

私は自分ができることに気づきます

unless [1].empty? 

しかし、私は方法があるかどうか疑問に思っていますか?

4

5 に答える 5

99

#any?davidrac が言及したのと同様に、 ActiveSupportには#present?があります。これは、他の言語での真偽テストのように機能します。、、、nilなどのfalse場合は false を返します。それ以外はすべて true (興味深いことに 0 を含む)。''{}[]

于 2012-08-02T16:22:51.240 に答える
23

Enumerable[1].any?で実際に定義されている を使用できます

配列がnilまたはfalse値のみを保持する場合、これは機能しないことに注意してください。

于 2012-08-02T16:15:30.300 に答える
9
[nil].any?
=> false
[nil].any? {|something| true}
=> true
[].any? {|something| true}
=> false
[false, false].any? {|something| true}
=> true
[nil, 'g'].any? {|something| true}
=> true
于 2014-12-31T04:38:10.290 に答える
1

配列内の要素を確認するには:
.empty?
。現在?

a={} の場合
a.any? .nil?
false を返します。

フィールドに nil 以外の値があるかどうかを確認するには:

.present?
.nil?
.any?
于 2013-05-23T16:14:12.540 に答える