Warum ist es, dass der folgende CodeRuby-Print Inject Do Syntax
p (1..1000).inject(0) { |sum, i|
sum + i
}
fein läuft, aber der folgende Code einen Fehler gibt
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)
Sollten sie nicht gleichwertig sein?
„, während die zweite tatsächlich versucht, den Block auf die erste Methode zu übergeben (1 ..1000). " Machen Sie das "zur ersten Methode' p' "und Sie sind richtig. – sepp2k
Ich habe es korrigiert. übersehen, dass in dem Code oben auf den ersten Blick! – Pete