Trong clojure 1.2RC1, tôi muốn lấy hàm dựa trên tên của nó dưới dạng chuỗi và đánh giá nó.chức năng giải quyết clojure từ tên chuỗi
nét Chức năng
(ns my-ns)
(defn mycar [x] (first x))
Sau đây làm việc:
((ns-resolve *ns* (symbol "mycar")) '(3 4))
((intern *ns* (symbol "mycar")) '(3 4))
((eval (symbol "mycar")) '(3 4))
nhưng họ có vẻ xấu xí. Có cách nào tốt hơn? Nếu không, cái nào ở trên là thành ngữ nhất?
Tôi thứ hai sử dụng 'resolve' hoặc' ns-resolve'. Cũng chú ý khi sử dụng 'intern'. Nó là khá clobber những thứ bằng cách sử dụng nó. – kotarak
Bất kỳ con trỏ nào để biết thêm thông tin về "clobbering" do thực tập sinh? – chris
Đặt Var với thực tập và dữ liệu meta gốc của bạn trên Var sẽ biến mất.Bỏ qua. Dường như cố định. Ít nhất tôi không thể tái tạo nó nữa. – kotarak