==
jest do porównywania liczb Jeśli któryś z jego argumentów nie jest liczbą, to zawsze return false..
(== :a :a)
; => false
Jak widać, mówiąc (clojure.contrib.repl-utils/source ==)
w REPL (z repl-utils
require
„d, oczywiście), ==
wywołuje metodę clojure.lang.Numbers
equiv
. Odpowiednia trochę clojure/lang/Numbers.java
(od najnowszych lub blisko do najnowszej popełnić na GitHub):
static public boolean equiv(Object x, Object y){
return y instanceof Number && x instanceof Number
&& equiv((Number) x, (Number) y);
}
Użyj porównania =
dla porównań rzeczy, które mogą nie być liczbami. Kiedy w rzeczywistości zajmujesz się liczbami, ==
powinno być nieco szybsze.
Dzięki Michała! –
Nie ma za co. :-) –