elixir 宏允许的语法是什么?
What is the allowed syntax for elixir macros?
我正在尝试编写一些宏,想知道语法规则是什么。为什么我可以创建宏 ~>>
,但 |>>
给我一个语法错误?
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
我正在尝试编写一些宏,想知道语法规则是什么。为什么我可以创建宏 ~>>
,但 |>>
给我一个语法错误?
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