Why is nil > 0 true in Erlang?

2020-04-07 03:22发布

问题:

Erlang is the first language I come across to give true for nil > 0.

What is the story behind this decision?

Other languages seem to behave differently.

Python:

None > 0
# False

JavaScript:

null > 0
// false

Ruby:

nil > 0
NoMethodError: undefined method `>' for nil:NilClass

回答1:

In Erlang, Any term may be compared with any other term. The ordering for Erlang Term Comparisons is:

number < atom < reference < fun < port < pid < tuple < map < nil < list < bit string

thus nil > 0 is true more information on Term Comparisons



标签: erlang