2016-03-27 18 views
1

私は、エリクサーの.(ドット)演算子をオーバーライドしようとしています。私は(+をオーバーライドするために正常に動作defmacro a + b do例えば)他の二項演算子を上書きすることができるよ、私はdefmacro a . b do.を上書きしようとすると、私は次のエラーを取得:defmacroのAB()内 無効な構文はどのようにして、エリクサーの演算子ですか?

は誰もい.をオーバーライドする正しい構文を知っていますか?マップへのドットアクセスの実装のコードを見つけようとしましたが、成功しませんでした。

+0

旧C++開発者として言えば、事業者に建てオーバーライドするには、とにかく非常に危険です。最初のアプローチではなく、最後の手段でなければなりません。 –

答えて

4

.(ドット)演算子はspecial formです。 docsから

Special forms are the basic building blocks of Elixir, and therefore cannot be overridden by the developer.

関連する問題