重载点“.”加上“+”在 groovy dsl 中
如何在 groovy 中使用 +
运算符重载 .
运算符。例如,我必须构建这样的 DSL:
model+make+version
而不是 model.make.version
如何使用 +
构建 dsl代码> 任何示例或提示
how to overload the .
operator with +
operator in groovy. for example i have to build the DSL somethong like this:
model+make+version
instead of model.make.version
how to build the dsl using +
any example or hint
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能重载
.
,您可以重载+
。model+make+version+"2"
实际上计算结果为model.plus(make.plus(version.plus("2")))
。在这些对象上提供 plus 方法就可以解决问题,但整个想法看起来很荒谬。You can't overload the
.
, you can overload a+
.model+make+version+"2"
actually evaluates tomodel.plus(make.plus(version.plus("2")))
. Providingplus
methods on those objects will do the trick, but the whole idea just seems ridiculous.