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을 확인하시기 바랍니다.

편집이 불행하게도 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