Yes and no. With
macro dis_do(arg1, l)
return Expr(:call, Symbol("do_", l, "!"), (esc(arg1)))
end
you can do @dis_do(arg1, 3) but it only works with a literal second argument since macros cannot see argument values (there are no values at the time of macro expansion). I.e., you cannot do
l = 3
@dis_do(arg1, l)