什么是惯用的clojure:使用

Mat*_*ton 8 idiomatic clojure

我已经:use在clojure中看到了几种不同的方法- 什么是惯用/首选方法?

#1

(ns namespace.core
  (:use [[something.core]
         [another.core]]))
Run Code Online (Sandbox Code Playgroud)

或#2编辑:与此一起使用:only.

(ns namespace.core
  (:use [something.core]
        [another.core]))
Run Code Online (Sandbox Code Playgroud)

或#3

(ns namespace.core
  (:use [something.core
         another.core]))
Run Code Online (Sandbox Code Playgroud)

或#4

(ns namespace.core
  (:use (something.core
         another.core)))
Run Code Online (Sandbox Code Playgroud)

或#5编辑:这是惯用的,但应该:use像#2一样使用

(ns namespace.core
  (:use something.core
        another.core))
Run Code Online (Sandbox Code Playgroud)

Stu*_*way 8

选择#5是惯用的,除非你传递其他选项,例如:only,:exclude等.Colin的博客文章详细介绍了选项.

处理命名空间的API不必要地学习.然而,它肯定能够用于各种各样的用途,因此重写的压力尚未达到任何人的沸点.