==
là để so sánh các số Nếu một trong hai đối số của nó không phải là một con số, nó sẽ luôn luôn trả về false:..
(== :a :a)
; => false
Như bạn có thể nhìn thấy bằng cách nói (clojure.contrib.repl-utils/source ==)
tại REPL (với repl-utils
require
'd, tất nhiên), ==
gọi phương thức equiv
của clojure.lang.Numbers
. các bit có liên quan của clojure/lang/Numbers.java
(từ mới nhất hoặc close-to-mới nhất cam kết trên GitHub):
static public boolean equiv(Object x, Object y){
return y instanceof Number && x instanceof Number
&& equiv((Number) x, (Number) y);
}
Sử dụng =
để so sánh bình đẳng những thứ có thể không phải là số. Khi bạn đang thực tế giao dịch với các con số, ==
nên được phần nào nhanh hơn.
Nguồn
2010-03-02 16:15:18
Cảm ơn Michal! –
Bạn được chào đón. :-) –