Nemerle自定义操作员问题

时间:2011-01-31 21:49:08

标签: macros nemerle

我希望能够在我的代码中编写以下内容。

c² = a² + b²

首先,我尝试首先为²创建一个宏。 我尝试了以下内容。

  macro @² (x)
syntax (x,"²")
{
 <[ 
($x * $x)

  ]>
}

但是我期待(x)的标识符错误,所以我尝试了

  macro @s (x)
syntax (x,"²")
{
 <[ 
($x * $x)

  ]>
}

现在我在"²"获得了不支持的语法标记错误。

所以我问 1.可以编写运算符²吗? 2.支持的语法标记有哪些?

1 个答案:

答案 0 :(得分:5)

目前,任何ASCII代码低于255的字符和以下字符对操作符都有效:'=','&lt;','&gt;','@','^','&amp;' ,' - ','+','|','*','/','$','%','!','?','〜','。',':',' #','\','`','(',')',';' ,'[',']'。

我们也可以添加“²”,但也许更通用的方法会更好。