https://github.com/rails/rails/pull/48412
[1,2].many?
はtrue
[1].many?
はfalse
[1,2].many? do |a|
> 1
a end
# => false
[2,3].many? do |a|
> 1
a end
# => true
ブロック配下の条件にマッチするものが複数個あるかをチェックできる。
検証するコードはこちら
[[1,2],[1,2]].many? do |a|
.sum == 3
aend
コードとしては配列の中の配列の合計が3以上のものが複数あるかというのを検証するものだ。
Traceback (most recent call last):
(irb):3:in `block in <main>': undefined method `sum' for 1:Integer (NoMethodError)
Did you mean? succ
上記のようなエラーになる。
理由は修正のコメントにも記載があるが、ブロックの中での判定で配列が来ることが考慮されておらず、それによって不具合が起きているとのこと。
=> true
trueが返される
今まで不具合で動かなかったものが動くようになるということなので、バージョンを上げたことで不具合が起きたりすることはなさそう