在 Boo 中定义运算符

发布于 2024-07-06 08:41:33 字数 266 浏览 8 评论 0 原文

我希望将一些轻量级元编程从 Nemerle 转移到 Boo,并且我正在尝试找出如何定义自定义运算符。 例如,我可以在 Nemerle 中执行以下操作:

macro @<-(func, v) {
    <[ $func($v) ]>
}

那么这两个是等效的:

foo <- 5;
foo(5);

我找不到在 Boo 中执行此操作的方法 - 有什么想法吗?

I'm looking to move some of my lighter weight metaprogramming from Nemerle to Boo and I'm trying to figure out how to define custom operators. For example, I can do the following in Nemerle:

macro @<-(func, v) {
    <[ $func($v) ]>
}

Then these two are equivalent:

foo <- 5;
foo(5);

I can't find a way of doing this in Boo -- any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ぶ宁プ宁ぶ 2024-07-13 08:41:33

虽然 Boo 通过定义适当的静态运算符函数 (op_addition) 支持运算符重载,并且还支持语法宏,但目前不支持创建自定义运算符。

While Boo supports operator overloading by defining the appropriate static operator function (op_addition), and also supports syntactic macros, it does not support creating custom operators at this time.

十二 2024-07-13 08:41:33

我不确定这是否正是您所需要的,但您可以在 Boo 中创建语法宏。 CodeHaus 网站上有一些信息,http://boo.codehaus.org/Syntropic+Macros,但语法在最近的版本之一中发生了变化。 我不知道有任何关于新语法的教程,但 Boo 0.8.2 的源代码版本有一些示例(一些语言结构是作为宏实现的)。 如果您不想下载完整源代码,可以查看 SVN 存储库,https://svn.codehaus.org/boo/boo/trunk/src/Boo.Lang.Extensions/Macros/。 断言宏将是一个很好的起点。

HTH

斯托

I'm not sure if this is exactly what you need but you can create syntactic macros in Boo. There's some information on the CodeHaus site, http://boo.codehaus.org/Syntactic+Macros, but the syntax has changed in one of the recent releases. I don't know of any tutorials on the new syntax but the source release for Boo 0.8.2 has some examples (some of the language structures are implemented as macros). If you don't want to download the full source a view of the SVN repository is available, https://svn.codehaus.org/boo/boo/trunk/src/Boo.Lang.Extensions/Macros/. The assert macro would be a good place to start.

HTH

Stoo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文