See https://github.com/JuliaLang/julia/issues/6846

On Fri, Jan 15, 2016 at 9:51 PM, David Gleich <[email protected]> wrote:

> Julia managed to surprise me today. I'm wondering how to understand what
> happens in this case and if it's a side effect of some design decision or
> syntax -- or a bug.
>
> The following code executes without any errors
>
> for i=1:5
>     for j=1:5
>         if i == j
>             blah
>         end
>     end
> end
>
> and "blah" can be anything you want! I discovered this because I had
>
> for i=1:5
>     for j=1:5
>         if i == j
>             contine # continue mis-spelled
>         end
>     end
> end
>
> This code executes and runs when pasted into the console or as part of a
> function in:
>
> Julia-0.4 (in console and via ipython notebook), Julia-0.4.2 (on Juliabox)
> and Julia-0.5-dev (on Juliabox)
>
> What I would have expected is some type of error such as "blah" is not
> defined, e.g.
>
> julia> function myans()
>          blah
>        end
> myans (generic function with 1 method)
>
> julia> myans()
> ERROR: UndefVarError: blah not defined
>  in myans at none:2
>
> It seems like this is likely some type of design implication because:
>
> julia> function myans()
>          blah
>          1
>        end
> myans (generic function with 1 method)
>
> julia> myans()
> 1
>
> Any insights would be awesome for my own understanding!
>
> Thanks,
> David Gleich
>
>

Reply via email to