2009-12-11 30 views

Trả lời

0

Làm thế nào tương tự nó có được? Clojure của eval công trình trong danh sách, vì vậy:

(eval (list + 1 2)) #=> 3 
+0

Tôi biết về eval, nhưng tôi nghĩ nó không hiệu quả với tôi. Tôi thực sự muốn đánh giá một "String" –

31
user> (eval (read-string "(+ 1 2)")) 
3 

Bạn có lẽ nên không bao giờ cần phải làm điều này. Macros và fns làm cho loại điều này không cần thiết 99% thời gian. Điều này khá dễ vỡ và có thể không an toàn nếu các chuỗi này đến từ đầu vào của người dùng, v.v.

+1

Vâng tôi muốn làm một cái gì đó hoàn toàn không an toàn: một chatbot REPL. –

+0

Có một clojurebot trong #clojure. –

+8

load-string thực hiện chính xác những gì anh ta đang tìm kiếm – Abhijith

Các vấn đề liên quan