我正在尝试编写一些宏,希望知道有关语法的规则是什么。为什么我可以创建宏|>>
,但defmacro lhs ~>> rhs
# Works fine
defmacro lhs |>> rhs
# syntax error before: '>'
给我一个语法错误?
ToArray()
答案 0 :(得分:6)
elixir的解析器只识别一组有限的运算符。
我不确定那些是在某处明确记录的,但您可以查看解析器本身以了解可能的内容:https://github.com/elixir-lang/elixir/blob/master/lib/elixir/src/elixir_parser.yrl#L51-L74