2016-05-12 4 views

答えて

4

マクロが引用された式としてその引数を受け取り、エリクサーで、長さ2のタプル残りは{:{}, _, [value1, value2, ...]}として表示されます。

iex(1)> Macro.escape {} 
{:{}, [], []} 
iex(2)> Macro.escape {1} 
{:{}, [], [1]} 
iex(3)> Macro.escape {1, 2} 
{1, 2} 
iex(4)> Macro.escape {1, 2, 3} 
{:{}, [], [1, 2, 3]} 
iex(5)> Macro.escape {1, 2, 3, 4} 
{:{}, [], [1, 2, 3, 4]} 

これらの値を注入するとsをunquoteを使用してquoteに変換すると、それらは自動的に実際のタプルに変換されます。

iex(6)> Macro.to_string {:{}, [], [1, 2, 3]} 
"{1, 2, 3}" 

をあなたは入門ガイドQuote and unquote -> Escapingにこれについての詳細な情報を見つけることができます。私たちはMacro.to_string/2を使用していることがわかります。

関連する問題