Skip to content

Latest commit

 

History

History
31 lines (22 loc) · 841 Bytes

20.7.md

File metadata and controls

31 lines (22 loc) · 841 Bytes

20.7 マクロと演算子

用法用量に注意すること!

Elixirは演算子をオーバーライドできる

  1. オーバーライド対象を除外した上で、importし直す
  2. 新しい定義をimportする

マクロの定義はレキシカルスコープ
importしたブロック(モジュール、関数など)の範囲内でオーバーライドされる

goh@goh% elixir "macros/operators.ex"
579
123456
579
warning: unused import Kernel
  macros/operators.ex:11

以下の関数は、v1.5.3〜1.6.1でdeprecateされたみたい

  • Macro.binary_opts
  • Macro.unary_ops

GitHubのreleasesには記載されていなかった
PragProgのErrataに記載されていた