Tôi đang cố gắng viết một hàm nhận chuỗi và trả về kết quả của hàm lọc (Tôi đang làm việc qua các vấn đề 4clojure). Kết quả cũng phải là một chuỗi.Tham gia Clojure không tạo được chuỗi từ kết quả của chức năng lọc
Tôi đã viết này:
(fn my-caps [s]
(filter #(Character/isUpperCase %) s))
(my-caps "HeLlO, WoRlD!")
Result: (\H \L \O \W \R \D)
Bây giờ tôi đang cố gắng để tạo ra một chuỗi ra khỏi danh sách này, sử dụng clojure.string/join, như thế này:
(fn my-caps [s]
(clojure.string/join (filter #(Character/isUpperCase %) s)))
Kết quả tuy nhiên là như nhau. Tôi cũng đã thử sử dụng apply str
, không thành công.
Cảm ơn! Nó làm cho tôi nhìn lên đôi macro luồng luồng. Tôi không biết về các macro luồng trước đây. –
@ntalbs, tại sao sử dụng toán tử '- >>' ở đây? một cuộc gọi hàm đơn giản là đủ để gọi 'apply' –
@ ÓscarLópez Vâng, bạn nói đúng. Kết quả là như nhau. Tuy nhiên, bằng cách sử dụng '- >>' làm cho nó dễ dàng hơn để đọc mã đọc, và gõ như của quá trình suy nghĩ của tôi. Đó là nó. Đó là một loại sở thích cá nhân. – ntalbs