Elixir中条件语句中的访问值
是否可以访问某个条件的结果值?例如:Elixir中条件语句中的访问值,elixir,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.
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
您需要实际分配值才能使用它。我想您需要这样的值
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
如果您想了解更多信息,请检查
编辑
不幸的是,这不够准确,因为与:key
相关的值实际上可能由nil
确定。如果您想确定值
是否存在于map
中,然后才使用它,您可以尝试:
您也可以尝试以下方法:
case Map.get(map, :key) do
nil ->
IO.puts "No value"
value ->
IO.puts "Value: #{inspect value}"
end
如果您想了解更多信息,请检查
编辑
不幸的是,这不够准确,因为与:key
相关的值实际上可能由nil
确定。如果您想确定值
是否存在于map
中,然后才使用它,您可以尝试:
确切地说,在elixir中,一切都是一个表达,告诉我们真相,测试的任务是在cond
返回时赋值。如果有必要访问外部的值,那么实际上,在elixir中,一切都是一个表达式,用来告诉真相,测试要做的事情是在cond
返回时赋值。如果有必要访问结果外部的值