`eval` operates in global scope only:
http://docs.julialang.org/en/release-0.4/manual/metaprogramming/#eval-and-effects
On Tue, Nov 24, 2015 at 1:12 PM, Pieterjan Robbe
wrote:
> Why can't I parse a function evaluation of a function defined within the
> scope of another function?
> i.e., the following terminates with an UndefVarError: bar not defined:
>
> *function* foo()
> *function* bar()
> x
> end
> *return* eval(parse("bar()"))
> end
>
> x = 7
> foo()
>
> However, I can do
>
> *function* foo()
> *function* bar()
> x
> end
> *return* bar()
> end
>
> x = 7
> foo()
>
> and
>
> *function* foo()
> *return* eval(parse("bar()"))
> end
>
> *function* bar()
> x
> end
>
> x = 7
> foo()
>
> Many thanks!
> -Pieterjan
>