2017-03-16 4 views

答えて

1

私はこのようなものが欲しいと思います。

cond do 
    value = Map.get(map, :key) -> 
    IO.puts "Value: #{inspect value}" 
    true -> 
    IO.puts "No value" 
end 

あなたが実際にそれを使用するために値を割り当てる必要があります。

+0

まさに、エリキシルすべてで行うには、テスト用のものがで割り当てることである真実を伝えるために式があります'cond'の復帰です。結果として外部の値にアクセスする必要がある場合 –

3

また同じようcaseを試みることができる:

case Map.get(map, :key) do 
    nil -> 
    IO.puts "No value" 

    value -> 
    IO.puts "Value: #{inspect value}" 
end 

あなたが詳細を知りたい場合はthis linkを確認してください。

EDITこれは残念ながらnilによる可能性があります実際に:keyに関連valueよう、十分に正確ではありません。あなたはvaluemapに存在するだけにして、それを使用している場合を確認したい場合は、Map.fetch/2を試みることができる:

map = %{key: nil} 

case Map.fetch(map, :key) do 
    {:ok, value} -> 
    IO.puts "Value: #{inspect value}" 

    :error -> 
    IO.puts "No value" 
end