2012-06-06 169 views
3

有沒有一種方法可以根據需要放置'require'在一個函數裏面。類似這樣的:clojure點播需求

(defn fun [x] (do (require 'clojure.string) ('clojure.string/split x #"\s")) )

回答

2

是的。它是。

(defn foo 
    [x] 
    (require 'clojure.string) 
    ((resolve 'clojure-string/split) x #"\s")) 
+1

驚訝的是,這些都是有效的Clojure代碼:) – xiefei

+0

@xiefei:不要因爲:)要求是隻是一個功能 – Ankur

+1

@Ankur:我原以爲多個功能在同級別調用應該永遠包裹在「do」之類的東西里。是否需要考慮副作用?或者這裏有一個隱含的'do'? – xiefei