我现在正在尝试编写一些宏,想知道语法规则是什么。为什么我可以创建宏 ~>>
,但 |>>
给我一个语法错误?
defmacro lhs ~>> rhs
# Works fine
defmacro lhs |>> rhs
# syntax error before: '>'
最佳答案
elixir 的解析器只能识别一组有限的运算符。
我不确定这些是否在某处明确记录,但您可以查看解析器本身以了解可能发生的情况:https://github.com/elixir-lang/elixir/blob/master/lib/elixir/src/elixir_parser.yrl#L51-L74
关于syntax - Elixir 宏允许的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33242984/