did you mean to write 'i==2' instead of 'x==2' in the second if statement?

Am 08.02.2016 um 12:41 schrieb David van Leeuwen:
> Hello, 
> 
> According
> to 
> http://docs.julialang.org/en/release-0.4/manual/control-flow/#man-conditional-evaluation
>  variables
> in if blocks do not introduce lexical scope, and hence are available
> afterwards.   This makes sense and is what I need. 
> 
> However, it seems afterwards relates to position in the encapsulating
> block, and not to execution time. 
> 
> |
> functiontestif()
> |
>     for i in 1:2
>         if i==1
>             x = 0
>         end
>         if x==2
>             println(x)
>         end
>     end
> end
> 
> 
> This code gives me an undefined `x` in the print statement, where I
> would have expected `x` to be initialized in the first iteration.  It
> seems I need to define `x` outside the for loop, even though I don't
> need it there.  
> 
> Is this interpretation in Julia intentional?
> 
> Cheers, 
> 
> ---david
> 

Reply via email to