elixir宏的允许语法是什么?

Pet*_*ton 2 syntax macros elixir

我正在尝试编写一些宏,目前想知道语法的规则是什么.为什么我可以创建宏~>>,但|>>给我一个语法错误?

defmacro lhs ~>> rhs
# Works fine
defmacro lhs |>> rhs
# syntax error before: '>'
Run Code Online (Sandbox Code Playgroud)

mic*_*ala 6

elixir的解析器只识别一组有限的运算符.

我不确定那些是在某处明确记录的,但您可以查看解析器本身以了解可能的内容:https://github.com/elixir-lang/elixir/blob/master/lib/elixir/src /elixir_parser.yrl#L51-L74