2016-09-09 7 views

答えて

1

それは少し混乱しています。あなたは物事のこの「正常な」方法を検討すべきである

(ns clj.core 
    (:require [tupelo.core :as t])) 

ns形で

は、あなたは次のようにキーワードバージョン (:require ...)を使用したいです。

他のバージョンでは、コロンなしで、あなたがまたはnsフォームを使用したくないことはできない場合にはREPLで呼び出すことができ、同じ名前の機能です。これは次のようになります。

> lein repl 
user=> (require '[tupelo.core :as t]) 
nil 
user=> (t/append [1 2 3] 4) 
[1 2 3 4] 

ご注意:REPL /機能バージョンについてはを、あなたはまた、名前空間の仕様を含むベクトルを引用しなければなりません。 :requireを使用してnsバージョンの仕様を引用していないことに注意してください。

> lein repl 
user=> (ns clj.core 
    #_=> (:require [tupelo.core :as t])) 
user=> 
:あなたは、エディタに既にある、ちょうどREPLで迅速な何かをテストしたい場合は、代替として

、あなたはREPLにあなたのファイルの先頭から全体nsフォームをペースト/カットすることができます

これは、手作業でfunction-versionを入力するよりも簡単でエラーを起こしにくいものです。良い概要については

ここ最近のブログ投稿を参照してください。https://stuartsierra.com/2016/clojure-how-to-ns.html

+0

また、[このスレッド](https://groups.google.com/forum/#!topic/clojure/mIlKaOiujlo)を参照してください。 –

+0

ちょうど明白です:REPLからの '(use ...)'と '(require ...) 'という関数形式を使うことは完全に容認されます。実際、そのような状況ではおそらくそれが望ましいでしょう。しかし、あなたのソースコードファイルでは、絶対に可能でない限り(例えば、サイクリックな依存関係など)、すべてのものを '(ns ...)'形式に入れるべきです。 –

関連する問題