you need to take advantage of quote, see:
https://groups.google.com/forum/#!topic/julia-dev/YxTEkUJcwL8
Jake
On Tuesday, February 11, 2014 11:57:16 PM UTC-5, Fil Mackay wrote:
>
> Is there not an ambiguity of operator : between expressions and symbols? I
> am trying to create an expression that calls a function with a symbol
> parameter, that comes from a string in context of the expression creator:
>
> function f(s::Symbol)
> end
>
> f(:abc) # works
>
> # get symbol name from a string
> name = "abc"
> f(symbol(name)) # works
> eval(:(f(symbol(name)))) # still works
>
> # moving over to using the context of the expression creator to specify
> the symbol:
> eval(:(f($(symbol("abc"))))) # nope, this generates: f(abc)
> eval(:(f(:(:($(symbol("abc"))))))) # bad, generates: f(Expr)
>
> # workaround:
> eval(:(f(:($(symbol("abc")))))) # almost, but generates: f(symbol("abc"))
> not f(:abc)
>
> Is there a trick to generate a more direct expression that eval() to:
> f(:abc) ?
>
>