[ruby-de] lokale Werte ändern

Die Optimisten inform at die-optimisten.net
Mi Apr 19 02:33:17 JST 2017


Hallo!

a=[1,2,3]
a.each { |x| x=x+10 }    # warum nicht [11, 12, 13] ?!
Warum geht das nicht, es wird ja das x, das den jeweiligen Wert enthält, 
verändert!
- Wann wird by_value, wann by_reference übergeben?!

Desweiteren ist mir aufgefallen:
x=0; { x+=1; } # => x=1
x=0; Bench.bmbm {|b| b.report { x=1 }}    # x weiterhin =0
In welchen Fällen wird die "übergeordnete" Variable übernommen, wann nicht?
Gibts einen Unterschied zwishen {} und begin...end ?

danke!



Mehr Informationen über die Mailingliste ruby-de