我怎么能在这个模式匹配?

时间:2016-09-05 07:18:32

标签: pattern-matching elixir phoenix-framework

我有这个表达:

obj1 = Repo.get_by(Struct1, var1: "123")

如何对其进行模式匹配,以便检查记录是否存在以及其字段“var2”是否为零。是否可以进行模式匹配 就这一点?

现在我正在这样做:

  cond obj1 do
    obj11  && (obj11.var2 == nil) -> #....
    true -> # doesn't exist or var2 isn't nil
  end

1 个答案:

答案 0 :(得分:5)

您可以使用模式%Struct1{var2: nil}

case Repo.get_by(Struct1, var1: "123") do
  %Struct1{var2: nil} -> #...
  _ -> #...
end