tôi đã xác định 3 chức năng sau sử dụng REPL leiningen:Tại sao hàm chuỗi của tôi trả về một [email protected]?
(defn rand-int-range [floor ceiling] (+ floor (rand-int (- ceiling floor))))
(defn mutate-index
"mutates one index in an array of char and returns the new mutated array"
[source idx]
(map
#(if (= %1 idx)
(char (+ (int %2) (rand-int-range -3 3)))
%2)
(iterate inc 0)
source))
(defn mutate-string
[source]
(str
(mutate-index
(.toCharArray source)
(rand-int (alength (.toCharArray source))))))
Khi tôi chạy (mutate-string "hello")
, thay vì REPL in ra chuỗi biến đổi, nó được in ra clojure.lang. LazySeq @ xxxxxx trong đó 'xxxxx' là một chuỗi ngẫu nhiên các số và chữ cái. Tôi hy vọng nó thay vì in một cái gì đó như "hellm" Điều này thực sự cho tôi một chuỗi trở lại như tôi nghĩ? Nếu có, làm thế nào tôi có thể lấy REPL để chỉ cho tôi chuỗi đó?
Cảm ơn Justin, # 1 ở trên đã trả lời câu hỏi của tôi. Tôi cũng sẽ xem xét # 2 và # 3 vì chúng dường như là lời khuyên tốt. Rõ ràng tôi là một noob clojure, vì vậy cảm ơn. – user1020853