Dlaczego jest to, że następujący kod działa poprawnieRuby Drukuj Inject Do Składnia
p (1..1000).inject(0) { |sum, i|
sum + i
}
Ale poniższy kod daje błąd
p (1..1000).inject(0) do |sum, i|
sum + i
end
warning: do not use Fixnums as Symbols
in `inject': 0 is not a symbol (ArgumentError)
Powinny one nie być równoważne?
„, podczas gdy drugi jest w rzeczywistości stara się przekazać bloku do pierwszej metody (1 ..1000). " Ustaw "na pierwszą metodę" p "i masz rację. – sepp2k
Poprawiłem to. przeoczyłem to w powyższym kodzie na pierwszy rzut oka! – Pete