複数のものを検索するときにRubyにfind_allメソッドが必要なのはなぜですか?
find_all
メソッドを使用して複数のものを検索するときにRubyに演算子が必要なのはなぜですか?私は:
x = [1,2,3,4,5]
variable = x.find_all do |x|
x.even?||x.odd?
end
puts variable
私は配列内の各番号が偶数か奇数のどちらであるかを調べることを試みています。最終的には、最終的に結果がvariable
になります。あなたが順番に探したい条件を記述しようとした場合
、それは動作しません:
variable = x.find_all do |x|
x.even?
x.odd?
end
私は最初の例が動作し、二番目にはないことを、なぜ知って好奇心旺盛です。 2番目の方程式は、私の頭の中で、xが偶数であるかどうかを調べるために、順番にリストしていると思っています。なぜそれが動作していないのか分かりません。誰かがなぜ複数の条件を検索しようとしているときに、順番にメソッドをリストするのとは対照的に、理由や演算子を使用しなければならないのか説明できますか?
すべての正の整数は奇数または偶数なので、すべての要素が最初の変数に返されます。2番目の方法では、ブロック内で最後の条件だけが関連しているため、オッズのみが返されます。 x.partition(&:even?)#=> [[2、4]、[1,3,5]] ' –