2010-03-03 7 views
11

जब मैं लीनिंगन के माध्यम से घूमना शुरू करता हूं तो यह अगले कीचड़ कनेक्शन स्वीकार करता है और मैं जाता हूं। मैं वास्तव में एक ही swank उदाहरण से कनेक्ट कई emacs उदाहरण चाहते हैं। क्या मैं यह कर सकता हूं? क्या मैं इसे लीनिंगेन के माध्यम से कर सकता हूं?क्या मैं दो emacs/slimes को उसी swank उदाहरण से जोड़ सकता हूं?

उत्तर

11

ठीक है, आप अपनी पहली कीचड़ सामान्य रूप से शुरू कर सकते हैं, तो (require 'swank.swank) (या शायद यह डिफ़ॉल्ट रूप से आवश्यक है ... नहीं यकीन है कि), port साथ (swank.swank/start-repl port) कुछ पोर्ट संख्या के द्वारा बदल दिया है और आपको लगता है कि करने के लिए कीचड़ का एक दूसरा उदाहरण कनेक्ट कर सकते हैं नव निर्मित आरपीएल।

मैं एक आरईपीएल से कनेक्ट करने के लिए यह किया है अभी, एक Emacs साथ lein swank, (swank.swank/start-repl 4006) पहले Emacs में साथ शुरू किया था, MX दूसरा Emacs (4006 पोर्ट संख्या के रूप में उपलब्ध कराने के) में कीचड़-कनेक्ट करते हैं, तो मैं कर सकता यह:

; first Emacs 
(def x 5) 

; second Emacs 
x ; evaluates to 5 
(def y 1234) 

; first Emacs 
y ; evaluates to 1234 

कूल, नहीं? :-)

अद्यतन: ओह, Btw - (swank.swank/start-repl) नई आरईपीएल पृष्ठभूमि में शुरू होता है और ब्लॉक आरईपीएल आप इसे निष्पादित करने के लिए उपयोग नहीं करता। वापसी मान nil है, इसलिए मैं नई आरईपीएल को मारने के लिए कैसे यकीन नहीं है ...

(अपडेट 2:। निकाला गया कुछ मैं अब के बारे में यकीन है)

अद्यतन 3: ऊपर जबकि विधि में है कि यह है कि यह कैसे मूल स्वांक उदाहरण शुरू कर दिया गया की परवाह किए बिना एक अतिरिक्त ग्राहक कनेक्ट करने के लिए संभव बनाता है पूरी तरह से सामान्य है, यह आदेश

lein swank 4005 "localhost" :dont-close true 

बंदरगाह और होस्ट नाम तर्क के साथ स्वांक शुरू करने के लिए और अधिक सुविधाजनक हो सकता है स्पष्ट रूप से उल्लेख किया जाना चाहिए यदि :dont-close true पारित किया जाना है। 4005 और "localhost" डिफ़ॉल्ट मान हैं।

इससे स्वैंक से डिस्कनेक्ट करना और बाद में पुनः कनेक्ट करना संभव हो जाएगा, लेकिन साथ ही साथ कई ग्राहकों को कनेक्ट करना भी संभव होगा।

(मैं सिर्फ देखा है कि यह संभव है, जबकि कैसे Leiningen-शुरू कर दिया स्वांक को reconnections सक्षम करने के लिए पर this new question का जवाब दे, यह अचानक घटित हुआ है, तो :dont-close भी निरंतर कनेक्शन का कारण होता है की जाँच करने के स्वीकार करने के लिए - और यह करता है।)

+0

बहुत बढ़िया है। ठीक वही जो मेरे द्वारा खोजा जा रहा था! –

+2

'बहुत बढ़िया' बिल्कुल सही शब्द है। :-) बीटीडब्ल्यू, आप किसी भी क्लोजर ऐप में स्वैंक एम्बेड करने के लिए 'swank.swank/start-repl' का उपयोग कर सकते हैं - मैंने इसका उपयोग बहुत अच्छे प्रभाव के लिए लोगों के बारे में पढ़ा है। मुख्य चेतावनी यह है कि स्वैंक को सुरक्षा की परवाह नहीं है, इसलिए आपको आरईपीएल के बंदरगाह तक पहुंच सीमित करने की परवाह करना है। –

+0

जाहिर है ऊपर अद्यतन 3 में वर्णित कार्यक्षमता के लिए हाल ही में हाल ही में लीन swank की आवश्यकता है; विवरण के लिए मैंने जो अन्य प्रश्न जोड़ा है (और विशेष रूप से मेरे उत्तर पर टिप्पणियां) देखें। –