엘릭서에서 None과 nil의 차이점은 무엇입니까?없음 엘릭서에서 nil 대
필자가 올바르게 이해했다면 Elixir의 문서에서 nil은 값의 부재를 나타내는 리터럴입니다.
하지만 아무 문서도 찾을 수는 없지만 같은 것을 나타내는 것으로 보입니다.
엘릭서에서 None과 nil의 차이점은 무엇입니까?없음 엘릭서에서 nil 대
필자가 올바르게 이해했다면 Elixir의 문서에서 nil은 값의 부재를 나타내는 리터럴입니다.
하지만 아무 문서도 찾을 수는 없지만 같은 것을 나타내는 것으로 보입니다.
@JustMichael이 언급했듯이 None
은 생각하는 것처럼 행동하지 않습니다. 의 엘릭서는 iex의 i(variable)
을 통해 확인할 수 있으므로 더 이상 의미가없는 원자입니다. nil
에서
iex(1)> i(None)
Term
None
Data type
Atom
Raw representation
:"Elixir.None"
Reference modules
Atom
Implemented protocols
IEx.Info, Inspect, String.Chars, List.Chars
iex(2)> is_nil(None)
false
하지만 찾고 :
iex(3)> i(nil)
Term
nil
Data type
Atom
Reference modules
Atom
Implemented protocols
IEx.Info, Inspect, String.Chars, List.Chars
iex(4)> is_nil(nil)
true
None
은 모듈 이름, 제어 흐름에서 false로 평가하지 않는 원자이다.
nil
은 제어 흐름에서 거짓으로 평가되는 원자입니다.
iex(1)> if None, do: :ok, else: :ko
:ok
iex(2)> if nil, do: :ok, else: :ko
:ko
엘 릭셔에는 없음이 없습니다. – JustMichael