2011-02-27 11 views
6

मैं एक एजेंट को एक कार्य भेजता हूं, लेकिन फ़ंक्शन में रखे गए किसी भी प्रिंट स्टेटमेंट के आउटपुट को नहीं देख सकता। मैं एजेंटों पर कोड निष्पादन का पता कैसे लगा सकता हूं?एसएलईएमई में किसी एजेंट के स्टडआउट/लॉग आउटपुट को कैप्चर कैसे करें?

संपादित करें: बाहर कर देता है मैं कंसोल में उत्पादन मिलता है , लेकिन नहीं कीचड़ में। अब सवाल यह है कि एसएलईएमई में आउटपुट कैसे देखें?

उत्तर

4

कुंजी बजाय खोल से lein स्वांक बुला के अवर तुतलाना प्रक्रिया के रूप में Emacs से स्वांक शुरू करने के लिए है। ऐसा करने का एक तरीका elein का उपयोग करना है (आदेश M-x elein-swank है)। तो फिर तुम अवर तुतलाना बफर में उत्पादन (जो elein का उपयोग करने का उदाहरण में *elein-swank* कहा जाता है) का निरीक्षण कर सकते हैं, या slime-redirect-inferior-output निष्पादित और repl में उत्पादन इनलाइन है। Clojure.contrib.logging लॉग आउटपुट भेजने के लिए एक उपयोगी उपकरण है।

+1

clojure-मोड के नवीनतम संस्करण में, आप 'एम एक्स clojure-जैक in' STDOUT आरईपीएल में प्रदर्शित होने के साथ कीचड़ और Clojure शुरू करने के लिए कर सकते हैं। –

1

आप एक स्ट्रिंग के रूप उत्पादन पर कब्जा करने के (with-out-str (def result (my-code))) में अपने repl में कॉल लपेट सकता है। इस तरह आप केवल उस कोड के लिए ऐसा कर सकते हैं जिस पर आप काम कर रहे हैं और आपको अपना आउटपुट प्राप्त करने के लिए अपनी प्रतिलिपि को पुनरारंभ करने की आवश्यकता नहीं है।

संबंधित मुद्दे