Je branche souvent des lambdas préconfigurés dans des méthodes énumérables comme 'map', 'select' etc. mais le comportement de 'injection' semble être différent. par exemple. avecComprendre le comportement d'injection utilisé avec un lambda dans Ruby
mult4 = lambda {|item| item * 4 }
puis
(5..10).map &mult4
me donne
[20, 24, 28, 32, 36, 40]
Cependant, si je fais un 2 paramètres lambda pour une utilisation avec une injection comme si,
multL = lambda {|product, n| product * n }
Je veux être capable de dire
(5..10).inject(2) &multL
depuis 'inject' a une option seul paramètre pour la valeur initiale, mais qui me donne ...
irb(main):027:0> (5..10).inject(2) &multL
LocalJumpError: no block given
from (irb):27:in `inject'
from (irb):27
Cependant, si je Farcir le '& multL' dans un deuxième paramètre à injecter, puis cela fonctionne. Ma question est "pourquoi est-ce que cela fonctionne et pas la tentative précédente?"