10-14-2011, 01:55 PM
お久しぶりです。
マクロに関して奮闘中です。
nasuマクロの引数で、Identifierを受け取り、
それをoutputに文字列として渡すというマクロを作りました。
このとき、{nasu BBB}は動くのですが、{nasu BBB.BBB}とすると
”.”がOperandとして認識されるようで、動かなくなったので、
?v:identifierを?v:expressionにしてみました。
ところが、BBB.BBBはLiteralとして扱えないようで、これも駄目だす。
そこで、トリッキーな感じで、messageでごまかそうと思いましたが、
これまたNG出されました!!!
だれか、ぷりーず・へるぷみー。。
マクロ難しい・・・・。
- B
マクロに関して奮闘中です。
nasuマクロの引数で、Identifierを受け取り、
それをoutputに文字列として渡すというマクロを作りました。
Code:
{define-macro public {nasu
?v:identifier
}
def l = {Literal v.name}
{return {expand-template {output ?l}}}
}
このとき、{nasu BBB}は動くのですが、{nasu BBB.BBB}とすると
”.”がOperandとして認識されるようで、動かなくなったので、
?v:identifierを?v:expressionにしてみました。
Code:
{define-macro public {nasu
?v:expression
}
def l = {Literal {v.get-text}}
{return {expand-template {output ?l}}}
}
ところが、BBB.BBBはLiteralとして扱えないようで、これも駄目だす。
そこで、トリッキーな感じで、messageでごまかそうと思いましたが、
Code:
{define-macro public {nasu
?v:expression
}
{return {expand-template {output {message ?v}}}}
}
これまたNG出されました!!!
だれか、ぷりーず・へるぷみー。。
マクロ難しい・・・・。
- B