【问题标题】:What's the most idiomatic way to use the :require and :use in the ns macro在 ns 宏中使用 :require 和 :use 最惯用的方法是什么
【发布时间】:2017-01-18 00:16:55
【问题描述】:

ns 宏中使用:require:use 最惯用的方法是什么?

(ns app.core
  (:require [clojure.tools.logging :as log]
            [clojure.java.io :as io]
            [clojure.edn])
  (:use [compojure.core]
        [postal.core]
        [ring.adapter.jetty]
        [ring.middleware.multipart-params]))

(ns app.core
  (:require [clojure.tools.logging :as log])
  (:require [clojure.java.io :as io])
  (:require clojure.edn)
  (:use compojure.core)
  (:use postal.core)
  (:use ring.adapter.jetty)
  (:use ring.middleware.multipart-params))

还是其他?

是否有任何通用指南或最佳做法?

【问题讨论】:

标签: clojure


【解决方案1】:

你的第一个例子更惯用。但是,不鼓励使用use:use,因此最惯用的方式是:

(ns app.core
  (:require [clojure.edn]
            [clojure.java.io :as io]
            [clojure.tools.logging :as log]
            [compojure.core :refer :all]
            [postal.core :refer :all]
            [ring.adapter.jetty :refer :all]
            [ring.middleware.multipart-params :refer :all]))

您可能会发现尝试关注Clojure community style guide 会有所帮助。

【讨论】:

  • :use 有什么问题?似乎:require:refer :all 结合起来实际上是一回事
  • @FrozenHeart 我鼓励你阅读manypostsonthistopic
猜你喜欢
  • 2017-01-17
  • 2010-11-29
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 2018-03-06
相关资源
最近更新 更多