use
との違いを説明できる人はいますrequire
か?:use
:require
ns
35643 次
4 に答える
102
require
libs(まだロードされていない)をロードuse
し、同じことを行い、さらにそれらの名前空間を参照します(したがって、withのようにetcclojure.core/refer
を使用する可能性もあります)。直接ではなく、両方での使用をお勧めします。:exclude
clojure.core/refer
ns
于 2009-05-16T09:24:49.710 に答える
36
use sure を使用すると、関数を呼び出すたびに名前空間を詳しく説明する必要がないため、簡単になりますが、名前空間の競合が発生して混乱を招く可能性もあります。「使用」と「必要」の間の適切な中間点は、実際に使用する名前空間の関数のみを「使用」することです。
例えば:
('[clojure-contrib.duck-streams :only (ライター・リーダー)] を使用)またはさらに良いことに、名前空間定義のファイルの先頭で指定します。
(ns com.me.project (:use [clojure.contrib.test-is :only (deftest is run-tests)]))
于 2009-06-20T00:37:08.800 に答える
22
前述のように、大きな違いは、(require 'foo)
では lib の名前空間内の名前を次のように参照する(foo/bar ...)
ことです。(use 'foo)
そうすると、それらは現在の名前空間にあり (それが何であれ、競合がない場合)、呼び出すことができます。彼らは好き(bar ...)
です。
于 2009-06-18T04:42:10.403 に答える