だから、私はちょうどその代わりのような書き込みの事を知っている:Rubyが新しい表記法を理解しようとしています。 ((注入:)対を選択(&:偶数); 1が&持っている理由は?)
[1,2,3,4,5].inject {|x,y| x + y} => 15
私は書くことができ
[1,2,3,4,5].inject(:+) => 15
は、私はまた、代わりに
[1,2,3,4,5].select {|x| x.even?} => [2,4]
を書くの私が書くことができることを学んだ
[1,2,3,4,5].select(&:even?) => [2,4]
私の質問は、1つ(選択)が&
を使用し、もう1つ(注入)が使用しない理由です。 :
は、even?
と+
がシンボルで扱われていると確信していますが、なぜ&
が1つで使用され、なぜ:
が使用されるのかを明確にしたいと思います。
さらに、inject
とselect
以上でこれらの表記を行うことができます。
多くの感謝!
を参照してください。非常に、非常に興味深い! Rubyでは、私が選択したように、多くのことが非常に簡単であることがわかりました。あなたは前に進み、 '{| elem | elem.send:even?} 'これは本質的に私のブロックがバックグラウンドでやっていることですか?その形式に変わって、何をしようとしているのですか? Rubyでさまざまなやり方で行うことができます。私は興味がある。 – David
@David:はい、それは 'select(&:even?)'がフードの中で何をするのかです。 –
@Davidは本当に質問に答えるならば、答えを受け入れることを忘れないでください! – vgoff