clojure - लिनिनिंग प्रतिलिपि में एक क्लोज़र फाइल को कैसे प्री-लोड होता है?



leiningen read-eval-print-loop (1)

मेरे पास कुछ क्लोज़र फ़ंक्शन हैं जिन्हें मैं पूर्व-लोड करना चाहता हूं जब मैं क्लोज़र आरपीएल शुरू करता हूँ कार्यों का उपयोग बहुत ज्यादा नहीं है जब तक कि आप उन्हें REPL के संदर्भ में प्रयोग नहीं कर रहे हों।

यदि यह मदद करता है, तो मैं आमतौर पर मेरे लिए एक क्लोजर आरईपीएल शुरू करने के लिए leiningen का उपयोग करें

मैं क्लोज़र कैसे बता सकता हूं (या लेयनीनिंग, अगर यह फ्लैट क्लोज़र के माध्यम से उपलब्ध नहीं है) मेरे लिए ये परिभाषाओं वाली एक क्लोजर फ़ाइल को पूर्व लोड करने के लिए?


ऐसा करने के कई तरीके हैं जो कि लैनिंगन नमूना प्रोजेक्ट में वर्णित है मेरा पसंदीदा तरीकों में से एक ऐसा कोड है जिसे आप डिफ़ॉल्ट रीप्ल नामस्थान में चाहते हैं

/path/to/project/dev/user.clj:

(ns user)
(def foo 42)

और इस तरह से एक लाइन को project.clj फ़ाइल में जोड़ें:

(defproject hello "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]]
  :source-paths ["dev"])

इससे यह साफ हो जाता है कि यह तब भी है जब यह डिफ़ॉल्ट नाम स्थान में लोड हो रहा है।

जब आप nrepl-jack-in प्रपत्र emacs या "lein repl" खोल के रूप में चलाते हैं, तो आपको user> साथ स्वागत किया जाना चाहिए user> आपके कोड के साथ नाम स्थान लोड किया गया है:

; nREPL 0.1.6
user> foo
42




read-eval-print-loop