1. ホーム
  2. ルビー

[解決済み】配列が空でないことを確認するために `any?` を使用してもよいですか?

2022-04-14 08:08:39

質問

配列が ではない を使用して空にしてください。 any? メソッドを使用するのですか?

a = [1,2,3]

a.any?
=> true

a.clear

a.any?
=> false

それとも unless a.empty? ?

解決方法は?

any? と同じではありません。 not empty? を使用する場合があります。

>> [nil, 1].any?
=> true
>> [nil, nil].any?
=> false

ドキュメントより

ブロックが指定されない場合、Ruby は 暗黙のうちに{|obj| obj}のブロック(つまり は、少なくともany? コレクションメンバのいずれかが falseまたはnil)。