연산자의 의미를 바꿔보세요 (Elixir)

7170 단어 Elixir

소개



  • Elixir 문서를 읽었습니다

  • Redefining existing operators을 읽고 "헤이 ~"라고 생각했기 때문에 써 둡니다.

  • + 산의 결과를 - 산으로 해 보겠습니다

  • WrongMath


    defmodule WrongMath do
      def a + b, do: a - b
    end
    
  • 이런 것을 정의하는 것입니다
  • 조속히 사용합시다
  • iex> defmodule WrongMath do
    ...>   def a + b, do: a - b
    ...> end
    {:module, WrongMath,
     <<70, 79, 82, 49, 0, 0, 4, 252, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 127,
       0, 0, 0, 14, 16, 69, 108, 105, 120, 105, 114, 46, 87, 114, 111, 110, 103, 77,
       97, 116, 104, 8, 95, 95, 105, 110, 102, ...>>, {:+, 2}}
    
    iex> import WrongMath
    WrongMath
    
    iex> 1 + 2
    ** (CompileError) iex:3: function +/2 imported from both WrongMath and Kernel, call is ambiguous
    
    
  • 화난
  • 모호함은 안된다는 것입니다

  • 다음과 같이하면 화를 내지 않습니다.
    iex> import WrongMath
    WrongMath
    
    iex> import Kernel, except: [+: 2]
    Kernel
    
    iex> 1 + 2
    -1
    

    Wrapping Up


  • 여기서는 정의 된 연산자를 override 해 보았습니다.
  • 공식적으로 Defining custom operators의 소개도 있습니다
  • 사용시 Final note을 잘 참조하십시오
  • Enjoy Elixir !
  • 좋은 웹페이지 즐겨찾기