0
如何訪問在另一個宏 中設置的宏中的變量,例如,在不同的宏之間共享變量
macro foo(arg)
{% SHARED_VAR = arg%}
p {{arg}}
end
macro baz
p {{ SHARED_VAR }}
end
foo("foo")
baz #=> prints "foo"
如何訪問在另一個宏 中設置的宏中的變量,例如,在不同的宏之間共享變量
macro foo(arg)
{% SHARED_VAR = arg%}
p {{arg}}
end
macro baz
p {{ SHARED_VAR }}
end
foo("foo")
baz #=> prints "foo"
那麼,這只是不是該語言的一個功能,可能是有很好的理由。
一些替代方案:
使用一個常量,但你不能做編譯時的事情吧:
macro foo(arg)
SHARED_VAR = {{arg}}
end
macro baz
p SHARED_VAR
end
foo("foo")
baz #=> prints "foo"
或直接致電其他宏觀與附加信息:
macro foo(arg)
{% shared_var = arg %}
baz({{shared_var}})
p {{arg}}
end
macro baz(arg)
p {{arg}}
end
foo("foo") #=> prints "foo"