xem xét như sau:Trong clojure tại sao tách một chuỗi từ một tập tin rỗng trở về 1 yếu tố?
=> (even? (count []))
true
cho đến nay rất tốt. Bây giờ, hãy xem xét (giả sử tệp của tôi trống):
(odd? (count (str/split (slurp my-file) #"\|")))
true
err ... tại sao vectơ được trả lại từ một tệp trống thậm chí không (không)?
=>(str/split (slurp my-file) #"\|")
[""]
Ahh, ai đó có thể giải thích lý do tại sao một chuỗi rỗng được trả lại trong trường hợp này?
Tôi đang cố xác định xem có số bản ghi lẻ trong tệp hay không.
Trong trường hợp này, bạn cũng có thể chỉ cần kiểm tra số chuỗi đầu vào. '(let [...] (khi (pos? (đếm txt)) ...))' Tôi thấy điều này một chút sạch hơn, bởi vì nó không cần thiết phân bổ một đối tượng seq được vứt bỏ ngay lập tức. 'seq' trên cấu trúc dữ liệu đắt hơn so với' count'. – kotarak