エリクサーではNoneとnilの違いは何ですか?なしエリクシルではnil対
私が正しく理解している場合、Elixirのドキュメントからは、価値のないことを表すリテラルです。
でも、私はそれ以上のドキュメントを見つけることはできませんでしたが、誰も同じを表すようです。
エリクサーではNoneとnilの違いは何ですか?なしエリクシルではnil対
私が正しく理解している場合、Elixirのドキュメントからは、価値のないことを表すリテラルです。
でも、私はそれ以上のドキュメントを見つけることはできませんでしたが、誰も同じを表すようです。
@ジャストマイケルが述べたように、None
はあなたの考えのように振る舞いません。 None
のエリキシルは、iexのi(variable)
で確認できるように、それ以上意味のない原子に過ぎません。
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
しかしnil
を見て:
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
は、制御フローでfalseと評価される原子です。
iex(1)> if None, do: :ok, else: :ko
:ok
iex(2)> if nil, do: :ok, else: :ko
:ko
エリクシールには何もありません – JustMichael