Clojure按需加载require

3
有没有一种方法可以在需要的地方使用'require',例如在函数内部。类似这样的写法:
(defn fun [x] (do (require 'clojure.string) ('clojure.string/split x #"\s")) )
1个回答

2
是的,确实是。
(defn foo
  [x]
  (require 'clojure.string)
  ((resolve 'clojure-string/split) x #"\s"))

@xiefei :不要担心 :) ,因为require只是一个函数。 - Ankur
1
@Ankur:我曾认为在同一层级上进行多个函数调用时,应始终将其包装在 do 中。是否应将 require 视为副作用?或者这里有一个隐式的 do - xiefei
1
@xiefei 函数体包含隐式的 do 块。require 关注的是副作用。 - kotarak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接