Tôi có thể thực hiện một dự án Java lớn và bắt đầu thêm các mô-đun Clojure như thế nào? Ví dụ: trong mã bên dưới, tôi muốn làm cho các chức năng sau có sẵn trong Java: trạng thái ?, zip ?, danh sách nhà nước, danh sách zipcode. Hai biến vị ngữ sẽ trả về một boolean, nhưng "getters" sẽ trả về mảng.Lồng ghép Clojure vào một dự án Java hiện có?
(def *states* (list "NJ" "NY" "CA")) (def *zipcodes* (list 12345 54343 98765)) (defn member [x sq] (if (seq sq) (if (= x (first sq)) sq (recur x (rest sq))))) (defn state? [aState] (not (= (member aState *states*) nil))) (defn zip? [aZip] (not (= (member aZip *zipcodes*) nil))) (defn state-list [] *states*) (defn zipcode-list [] *zipcodes*) ;; --------------- (state? "AA") (state? "CA") (zip? 11111) (zip? 12345)
tôi nhìn README leiningen nhưng tôi không nhìn thấy bất cứ điều gì mà giải thích điều này. Biết về bất kỳ blog, vv mà có thể giải thích điều này trong một số chi tiết? Danh sách của tôi sẽ được trả về Java như thế nào? –
bạn chuyển đổi vector clojure thành danh sách java bằng
to-list
và trả về từ hàm. thêm ở đây: http://clojure.org/java_interop#toc27 –Tôi nghĩ lưới đang thiếu các giải thích về điều này. –