4
我期望這段代碼產生原始向量,但以不區分大小寫的方式排序。相反,我得到原始矢量不變。爲什麼我的比較器不工作?簡單的比較器不排序爲(I)預期
user=> (ns user (require [clojure.contrib.string :as str]))
nil
user=> (sort
(comparator #(compare (str/upper-case %1) (str/upper-case %2)))
["B" "a" "c" "F" "r" "E"])
("B" "a" "c" "F" "r" "E")
謝謝,我想我被比較器產生3個可能的值(-1,0,1)並且謂詞可以產生正確或錯誤的事實所困惑。所以看起來你從未使用過(比較器)得到的東西0。 – 2011-04-14 15:57:58
Erm,發言太快,(比較)**確實**實際上處理平等。 – 2011-04-14 15:59:40