2016-11-28 14 views

答えて

4

どのような種類のブール式でも動作しますが、Elixirで他のパターンと一致するパターンはありません。

defmodule Player do 
    defstruct is_member: nil, level: nil 
end 

defmodule TestModule do 

    def allow_entry(%Player{ is_member: is_member, level: level }) 
    when is_member and level > 10 do 
    IO.inspect(["Success"!, is_member, level]) 
    end 

    def test() do 
    # allow_entry(%Player{ is_member: true, level: 0}) # This will fail 
    allow_entry(%Player{ is_member: true, level: 15}) # This will succeed 
    # allow_entry(%Player{ is_member: false, level: 0}) # This will fail 
    # allow_entry(%Player{ is_member: false, level: 15}) # This will fail 
    end 
end 

TestModule.test() 
+0

すごいああ...私は基本:(感謝を読む必要がある:('&&'使用しようとしていた実現 – user1354934

+0

あなたがここでそれについての詳細を読むことができます。http:!。//エリキシル-LANG。 org/getting-started/case-cond-if-if.html – Alexander

+2

Btw、今後の質問については、[最小限の完全かつ検証可能な例](http://stackoverflow.com/help/mcve)を提供してください他の人があなたのデータ構造をモックアップする必要がないからです。 – Alexander

関連する問題