非常に特殊な乗算演算子が必要だとします。次のマクロで実装できます。
macro @<<!(op1, op2)
{
<[ ( $op1 * $op2 ) ]>
}
そして、私はそれを次のように使うことができます
def val = 2 <<! 3
そしてその仕事。
しかし、私が本当に望んでいるのは、現在開発中のDSLIm用の「英語」のような演算子です。
macro @multiply(op1, op2)
{
<[ ( $op1 * $op2 ) ]>
}
そして私がそれを次のように使おうとすると
def val = 2 multiply 3
コンパイラは'expected;'で失敗します エラー
何が問題ですか?この中置形式のマクロを実装するにはどうすればよいですか?