3
對不起,這個基本的問題,但我不明白這一點:如果我使用正常的關係比較運算符與術語 - 它是如何工作的?Erlang比較運算符是如何工作的?
例如:
"AAA" > "aaa" => false
- 爲什麼比"aaa"
少"AAA"
?
如果我有兩個原子:
atom1 < atom2 => true
- 爲什麼atom1
小於atom2
?
如何/何時使用比較運算符與原子?
對不起,這個基本的問題,但我不明白這一點:如果我使用正常的關係比較運算符與術語 - 它是如何工作的?Erlang比較運算符是如何工作的?
例如:
"AAA" > "aaa" => false
- 爲什麼比"aaa"
少"AAA"
?
如果我有兩個原子:
atom1 < atom2 => true
- 爲什麼atom1
小於atom2
?
如何/何時使用比較運算符與原子?
A
具有ASCII碼65,a
具有ASCII碼97從而"A" < "a"
。的確切規則給出在http://www.erlang.org/doc/reference_manual/expressions.html#id77480:
7.11期限比較
以下順序被定義:
數<原子<參考<樂趣<端口< PID <元組<列表<位串
列表按元素逐個比較。元組按大小排序,具有相同大小的兩個元組按元素進行比較。
感謝您的回答! – user3169252
要比較兩個原子,它會對原子中的字符進行直接詞法比較,如果字符相同,則較長的原子較大。所以'cat> car => true'和'cat < cats => true'。 – rvirding
這是真的,但是,我無法找到它是否有*的信息。 – filmor