2015-11-12 10 views

risposta

12

ci sono alcuni operatori che attualmente non hanno alcun significato, ma si possono usare nelle macro definite o semplicemente definire come funzioni. Per esempio:

defmodule Operators do 
    def a ~>> b do 
    a + b 
    end 
end 

defmodule Test do 
    def test do 
    import Operators 

    1 ~>> 2 
    end 
end 

IO.inspect(Test.test) # => 3 

L'idea generale è che Elixir vuole evitare la proliferazione operatore (librerie pensare che definiscono decine di nuovi operatori) in modo al momento di definire le macro è necessario utilizzare quelli che sono già lì.