結論
標題の通りで、知っている人には当たり前なのですが、以下のような戻り値になります。
[].all? { |foo| foo == 1 } #=> true
どうするか
all?
を使わないようにすればこのハマりやすい返り値から逃れられます。もし all?
を使う場合には、レシーバが []
の場合は早期リターンをするなどすれば回避できます。
……が、そもそもこれを知らないと回避も何もないですよね……。
標題の通りで、知っている人には当たり前なのですが、以下のような戻り値になります。
[].all? { |foo| foo == 1 } #=> true
all?
を使わないようにすればこのハマりやすい返り値から逃れられます。もし all?
を使う場合には、レシーバが []
の場合は早期リターンをするなどすれば回避できます。
……が、そもそもこれを知らないと回避も何もないですよね……。