thanks - so it take the scheme approach to closures. The let keyword allows 
the inverse.

On Thursday, February 5, 2015 at 10:36:37 AM UTC-5, Mauro wrote:
>
> Yes, this is expected.  Have a look at the scope section of the manual, 
> it also has examples on how to get the behaviour (I suspect) you want. 
>
> On Thu, 2015-02-05 at 16:26, Michael Francis <[email protected] 
> <javascript:>> wrote: 
> > function test() 
> >   x = 2 
> >   f = (()->x + 3) 
> >   println( f() )      # Prints 5 Yeh! 
> >   x = 4 
> >   println( f() )      # Prints 7 ??? 
> >   g = (()->(x=4)) 
> >   println( g() )     # Prints 4 Yeh, that should not be the same x 
> >   println( x )       # Oops seems it is the same X 
> >   println( f() )      # Yes seems there is one X here 
> > end 
> > 
> > test() 
> > 
> > Prints - 
> > 
> > 
> >    - 
> >     
> >    5 
> >    7 
> >    4 
> >    4 
> >    7 
> >     
> >     
> > Is this the expected behavior for closures? it is not what I expected. 
> > 
> > This is in both 0.3.4 and 0.4.0-dev+3135 
>
>

Reply via email to