What would be the difference between writing S_str  as a macro and as a 
function, and using different syntax to call them and get the same result?

In Tracy's version which sintax to use, and how come only the 'S' is needed 
to call the macro, and not "S_str", but it is needed when using "@":

julia> macro S_str(e)
           :(symbol($e))
       end

julia> S"test test"
:test test

julia> @S_str "test test"
:test test

So in S_str "_str" denotes the parameter and "e" the argument? I think I 
can see what it is doing, but I don't fully get it.

julia> S_str"test test"
ERROR: @S_str_str not defined

julia> @S "test test"
ERROR: @S not defined


Ok so this doesnt work:

julia> function S_str(e)
           :(symbol($e))
       end
S_str (generic function with 1 method)

julia> S_str("test test")
:(symbol("test test"))

But this does, yet it's just a wrapper:


julia> function S_str(e)
           symbol(e) 
       end
S_str (generic function with 1 method)

julia> S_str("test test")
:test test

Reply via email to