==
est pour comparer les numéros Si l'un de ses arguments est pas un nombre, il retournera toujours faux..
(== :a :a)
; => false
Comme vous pouvez le voir en disant (clojure.contrib.repl-utils/source ==)
au REPL (avec repl-utils
require
« d, bien sûr), ==
appelle la méthode equiv
de clojure.lang.Numbers
. le bit correspondant de clojure/lang/Numbers.java
(de la dernière ou à proximité à dernier engagement sur GitHub):
static public boolean equiv(Object x, Object y){
return y instanceof Number && x instanceof Number
&& equiv((Number) x, (Number) y);
}
Utilisez =
pour les comparaisons d'égalité de choses qui peuvent ne pas être des nombres. Lorsque vous traitez des numéros, ==
devrait être un peu plus rapide.
Merci Michal! –
De rien. :-) –