Re: [MacRuby-devel] Bizarre behaviour with an instance variable

2011-01-27 Thread Henry Maddocks
On 28/01/2011, at 2:46 AM, Eloy Durán wrote: > > In your example ‘theProjectRoot’ is not a parameter to the block, that's ‘f’. > It could have been a local variable (or method) outside of the block, but > that isn't so either, the one variable you defined that comes close is the > instance va

Re: [MacRuby-devel] Bizarre behaviour with an instance variable

2011-01-27 Thread Eloy Durán
I think you’re thinking about an unrelated change in 1.9, which is this: % ruby -e 'x = 42; lambda { |x| x = 21 }.call(x); p x' 21 % ruby19 -e 'x = 42; lambda { |x| x = 21 }.call(x); p x' 42 In your example ‘theProjectRoot’ is not a parameter to the block, that's ‘f’. It could have been a local

Re: [MacRuby-devel] Bizarre behaviour with an instance variable

2011-01-27 Thread Martin Hawkins
Yes - a 1.9 change; 'parameters to a block are now always local to a block' - I'll probably forget again before it sticks. On Jan 27, 9:44 am, Eloy Durán wrote: > The problem you are seeing is because inside the #map block you don't > reference the project root variable as an instance variable,

Re: [MacRuby-devel] Bizarre behaviour with an instance variable

2011-01-27 Thread Eloy Durán
The problem you are seeing is because inside the #map block you don't reference the project root variable as an instance variable, but as a local variable. Hence the error “undefined local variable or method `theProjectRoot'” :) If you change the block like this, all should be good: map {|f

[MacRuby-devel] Bizarre behaviour with an instance variable

2011-01-27 Thread Martin Hawkins
I find the following behaviour a little bizarre: At the macirb prompt (0.8) fileManager = NSFileManager.defaultManager @theProjectRoot = '/Users/martin/work/macruby/lots_of_files' => "/Users/martin/work/macruby/lots_of_files" >> filenames = fileManager.contentsOfDirectoryAtPath(@theProjectRoot, >>