条件の結果である値にアクセスできますか?たとえば:エリクシールの条件文のアクセス値
cond do
Map.get(values, :foo) ->
IO.puts "Value: #{foo}"
true ->
IO.puts "No value"
end
条件の結果である値にアクセスできますか?たとえば:エリクシールの条件文のアクセス値
cond do
Map.get(values, :foo) ->
IO.puts "Value: #{foo}"
true ->
IO.puts "No value"
end
私はこのようなものが欲しいと思います。
cond do
value = Map.get(map, :key) ->
IO.puts "Value: #{inspect value}"
true ->
IO.puts "No value"
end
あなたが実際にそれを使用するために値を割り当てる必要があります。
また同じよう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
よう、十分に正確ではありません。あなたはvalue
がmap
に存在するだけにして、それを使用している場合を確認したい場合は、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
まさに、エリキシルすべてで行うには、テスト用のものがで割り当てることである真実を伝えるために式があります'cond'の復帰です。結果として外部の値にアクセスする必要がある場合 –