1
是否可以訪問作爲條件結果的值?例如:Elixir條件語句中的訪問值
cond do
Map.get(values, :foo) ->
IO.puts "Value: #{foo}"
true ->
IO.puts "No value"
end
是否可以訪問作爲條件結果的值?例如:Elixir條件語句中的訪問值
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如果您想了解更多信息。
編輯
這不幸的是,不夠準確,如value
通過nil
相關:key
實際上可能。如果你想知道,如果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'的返回。如果有必要訪問外部值作爲結果 –