2016-09-16 2 views

答えて

3

これはまさに言語の特徴ではなく、たぶん正当な理由があります。

いくつかの選択肢:
代わりに定数を使用しますが、あなたはそれをコンパイル時のことを行うことはできません。

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" 
関連する問題