syntax - Elixir 宏允许的语法是什么?

标签 syntax macros elixir

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

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/

相关文章:

mysql - 为什么 MySQL Workbench 告诉我我需要分号?

python - 为什么允许在 for 循环中使用列表订阅?

regex - Elixir中的RegEx捕获组

visual-studio-code - Visual Studio 代码 - Elixir 格式化程序不起作用,而是尝试使用更漂亮的

methods - 什么类型对方法的 `self` 参数有效?

c++ - 宏名称和替换列表相同

c - 最新的container_of宏中__mptr的用途是什么?

powershell - 具有参数/参数的Powershell

elixir - 在phoenix框架(elixir)中更改Url以接受字符串而不是id

javascript - JSLint 错误 : Unexpected '--'