Tôi có thể thề tôi đã alength
làm việc trước đây, nhưng tôi hoàn toàn không biết những gì tôi đang làm sai ngay bây giờ:Clojure chiều dài của chuỗi
user=> (alength '(1 2 3))
IllegalArgumentException No matching method found: alength clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:79)
user=> (alength [1 2 3])
IllegalArgumentException No matching method found: alength clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:79)
user=> (doc alength)
-------------------------
clojure.core/alength
([array])
Returns the length of the Java array. Works on arrays of all
types.
nil
Những gì tôi nên làm để có được chiều dài của một danh sách/mảng trong Clojure?
Lưu ý rằng 'count' cũng hoạt động đối với mảng. 'alength' chỉ cần trong mã quan trọng tốc độ mà bạn đã biết rằng bạn có một mảng và cần truy cập trực tiếp. 'count' sẽ chậm hơn ở đây, bởi vì nó tổng quát hơn. – kotarak