조건의 결과 값에 액세스 할 수 있습니까? 예를 들면 다음과 같습니다.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을 확인하시기 바랍니다.
편집이 불행하게도 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'의 반환. 결과로 외부 값에 액세스해야하는 경우 –