昨天我問了一個類似的問題,但似乎我不得不改變我的方法,所以我做了,但現在我又被卡住了。從var中存儲的表達式定義一個函數
不管怎麼說,我想要做的是沿着
(def bar '(* 2 %))
(#(bar) 2) ;this line doesn't work.
(#(* 2 %) 2) ;this is what I want the line that doesn't work to do.
東西線東西,我想存儲在一個VAR的表達,所以我可以做類似
(def bar2 (list (first bar) 3 (nth bar 2)))
(#(bar2) 2) ;this line obviously doesn't work either.
也許有匿名函數讀取器宏的另一種方法比#
。
我正在做一個uni項目的遺傳編程,所以我需要做的是有一個表達式,我可以改變並且變成一個函數。
有沒有什麼不能產生'的理由(FN [X](* 2×))' ?即使你在運行時出於某種原因將它作爲列表獲得,你也可以只通過一次eval來生成一個函數,然後存儲和重用該函數。 – 2013-03-26 01:14:23