【发布时间】:2016-03-27 11:10:21
【问题描述】:
我正在尝试覆盖 elixir 中的 .(点)运算符。我能够覆盖其他二元运算符(例如defmacro a + b do 可以很好地覆盖+),但是当我尝试用defmacro a . b do 覆盖. 时,我收到以下错误:
defmacro a.b() 中的语法无效
有人知道覆盖. 的正确语法吗?我试图找到实现点访问地图的代码,但没有成功。
【问题讨论】:
-
作为一名前 C++ 开发人员,重写内置运算符无论如何都是非常危险的。应该是最后的手段而不是第一种方法。
标签: macros operator-overloading elixir