[Newbies] problems with scoping

Ch Lamprecht ch.l.ngre at online.de
Mon Oct 23 22:23:45 UTC 2006


Hi,
I face a problem with variable scoping in block-closures:

arr := Array  withAll: #(1 2 3 4 5 ).
blocks := arr collect: [ :i | [Transcript show: i] ].
blocks do:[:item | item value].

This prints 55555 because blocks contains
[Transcript show: i]
for all of its elements and accesses the current value of i.

I would like to have blocks contain
[Transcript show: 1]
[Transcript show: 2]
[Transcript show: 3]
etc.

so it would print 12345

TIA Christoph



More information about the Beginners mailing list