どのような種類のブール式でも動作しますが、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()
すごいああ...私は基本:(感謝を読む必要がある:('&&'使用しようとしていた実現 – user1354934
あなたがここでそれについての詳細を読むことができます。http:!。//エリキシル-LANG。 org/getting-started/case-cond-if-if.html – Alexander
Btw、今後の質問については、[最小限の完全かつ検証可能な例](http://stackoverflow.com/help/mcve)を提供してください他の人があなたのデータ構造をモックアップする必要がないからです。 – Alexander