Frage

C:\>irb
irb(main):001:0> s = Proc.new { puts "Hello" }
=> #<Proc:0x04051780@(irb):1>
irb(main):002:0> s.call
Hello
=> nil

Was bewirkt, dass die Null?

ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
War es hilfreich?

Lösung

s keinen Wert zurückgibt, Wie @ sepp2k im Kommentar weist darauf hin, puts kehrt nil, so nil automatisch der Rückgabewert wird da, dass die letzte Anweisung in der proc ist.

Es wird nur an das Terminal als Rückgabewert der letzten Anweisung gedruckt, ähnlich dem kryptischen ausgegeben, nachdem Sie ordnen die proc s.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top