かなり簡単な質問ですが、私はexfileライブラリで作業したときにそれを書き留めました。なぜis_atom(nil)がエリキシルでtrueに等しいのですか?
この式は返します
is_atom(nil) # => true
それはちょっと予測不可能です。私の質問は、どうしたのですか?なぜそれがtrue
を返すのですか?
かなり簡単な質問ですが、私はexfileライブラリで作業したときにそれを書き留めました。なぜis_atom(nil)がエリキシルでtrueに等しいのですか?
この式は返します
is_atom(nil) # => true
それはちょっと予測不可能です。私の質問は、どうしたのですか?なぜそれがtrue
を返すのですか?
nil
は、true
およびfalse
と共に原子である。
これはあなたがまたしてチェックすることができhttp://elixir-lang.org/getting-started/basic-types.html#atoms
にtrue
とfalse
のために文書化されています。まあ、それがあるためである
https://github.com/elixir-lang/elixir/blob/v1.3.2/lib/elixir/src/elixir_tokenizer.erl#L986 https://github.com/elixir-lang/elixir/blob/v1.3.2/lib/elixir/src/elixir_parser.yrl#L253
:
nil == :nil
true == :true
false == :false
いくつかの関連リンクを"nil"は "true"のような原子です。または「偽」である。
ちょっと奇妙な解決策。しかし、私の名前はホセ・バライムではありません。なぜ彼はそれをした、あなたはどう思いますか? – asiniy
私は確信していません、真実と偽はアーランの原子です。そうすれば、おそらくhttp://erlang.org/doc/reference_manual/data_types.html#id76595に影響します。このコミットで追加されましたhttps://github.com/elixir-lang/elixir/commit/0054df323420def2797152f16845798d4846b634 – Gazler
恐ろしいです!ありがとう! – asiniy