zhulinpinyu / zhulinpinyu.github.io

Blog
http://blog.zhulinpinyu.com
Apache License 2.0
2 stars 0 forks source link

Elixir `==`的其他用法 #11

Open zhulinpinyu opened 5 years ago

zhulinpinyu commented 5 years ago

相等判断的基本用法

iex(3)> 2 == 2
true

另一种用法

iex(4)> Kernel.==(2, 2)
true

== 其实是Kernel内建的函数只是函数名有点怪。

参考代码

def is_valid_card(card_type, card_number) do
    case card_type do
      :debit ->
        card_number
        |> Integer.to_charlist()
        |> length
        |> Kernel.==(12)
       :credit ->
        card_number
        |> Integer.to_charlist()
        |> length
        |> Kernel.==(10)
       _ ->
        {:error, :invalid_card_type}
    end
end

https://medium.com/blackode/2-biggest-exunit-improvements-in-elixir-1-7-9116f7209c90