2012-08-08 28 views
6

अच्छा टैब पूर्णता का अर्थ प्रतिबिंब या जो कुछ भी हो रहा है (जिसे कहीं भी पूर्ण होने की पूर्व परिभाषित सूची की आवश्यकता नहीं है) का उपयोग करके गतिशील रूप से जेनरेट किया गया है और यह जानता है कि विशेष स्थान पर क्या और क्या नहीं चल सकता है।क्या क्लोजर आरईपीएल में _good_ टैब पूर्णता हो सकती है?

तरह (.<TAB> x) में मैं (println <TAB>) में एक्स के विधि की सूची मिल जाएगा, मैं स्थानीय और वैश्विक परिभाषाओं की सूची प्राप्त, (Math/<TAB> में मैं गणित कार्यों की सूची प्राप्त ...

उदाहरण के लिए मुझे पसंद है कैसे टैब ghci (हास्केल) या ipython में काम करता है।

उत्तर

0

ऐसा लगता है कि IClojure चीज़ कम या ज्यादा अच्छी तरह से करता है। यह प्रेरित है और आईपीथन की तरह दिखता है और टैब पूरा करने की पेशकश करता है (पूर्ण नहीं, 3 मामलों में से 2 मामलों का उल्लेख किया गया है) और कंसोल में क्लोजर विकसित करने में मदद करता है। हालांकि बहुत स्थिर नहीं है।

4

यह निश्चित रूप से संभव है और कई दिशाएं उस दिशा में विकसित हो रही हैं। क्लोजर के नवीनतम संस्करण में "विकास मोड" विकल्प शामिल है जो इस प्रकार के टूल को आसान बनाता है; उदाहरण के लिए यह डिबगिंग में सहायता के लिए स्थानीय समाशोधन बंद कर देता है और इरादा यह है कि अंततः आईडीई और संबंधित उपकरणों द्वारा उपयोग के लिए संकलन प्रक्रिया के बारे में बहुत अधिक जानकारी निर्यात करने में सक्षम होना चाहिए। क्लोजर पारिस्थितिक तंत्र को सुधारने और मेरे अवलोकनों से इसे व्यापक रूप से मान्यता प्राप्त क्षेत्र के रूप में मान्यता प्राप्त है, कई बहुत ही स्मार्ट लोग इस पर काम कर रहे हैं।

+0

तो इसे कंसोल में रखने के लिए आरपीएल मुझे मूल रूप से और इंतजार करना होगा? –

7

डिफ़ॉल्ट से बेहतर REPL के लिए reply पर एक नज़र डालें। इसमें जावा इंस्टेंस विधि को पूरा करने के अलावा, आपके द्वारा उल्लेख किए गए तीन उपयोग मामलों में से दो शामिल हैं।

यदि आप leiningen v2 + का उपयोग करते हैं तो यह lein repl कमांड द्वारा लागू डिफ़ॉल्ट आरईपीएल है।

1

ग्रहण काउंटरक्लॉकवाइड आरईपीएल का वर्तमान बीटा संस्करण कोड पूर्ण करने में काफी सुधार हुआ है, और जावा पूर्णता सहित आपके सभी मामलों को शामिल करता है। बेशक एक स्टैंडअलोन कमांडलाइन आरईपीएल नहीं है। क्लोजर एक गतिशील भाषा होने के बावजूद इसकी समाप्ति पर सीमाएं हैं, कुछ ऐसा है जो दृढ़ टाइप की गई भाषाओं जैसे हास्केल में बहुत आसान है।

+0

".. कोड पूर्ण होने में काफी सुधार हुआ है" -> इसलिए मुझे उम्मीद है कि यह कमांड लाइन में भी अंततः हो; "कुछ ऐसा जो हास्केल जैसे दृढ़ टाइप की गई भाषाओं में बहुत आसान है।" -> इस वजह से मैंने ipython का उल्लेख किया। –

+0

सीसीडब्ल्यू का आरईपीएल एक एनआरईपीएल क्लाइंट है, लेकिन एनआरईपीएल कोड को निष्पादित करने और उसके आउटपुट को वापस करने के लिए उपयोग किया जाता है, कोड प्रविष्टि नहीं। समापन कोड सीसीडब्ल्यू का उपयोग एक्लिप्स और अन्य सीसीडब्ल्यू कोड से कड़े से जुड़ा हुआ है, इसलिए मुझे इसे जल्द ही अन्य एनआरईपीएल ग्राहकों में शामिल नहीं किया जा रहा है। – NielsK

1

मैं एमेक्स को स्लिम और Emacs auto-complete के साथ एक संपादक के रूप में उपयोग कर रहा हूं, और उन सभी सुविधाओं को एएमएक्स के भीतर रेप्ल के लिए काम कर रहा हूं: जावा कक्षाओं और फ़ील्ड के लिए स्वत: पूर्णता, क्लोजर फ़ंक्शंस के लिए स्वत: पूर्णता प्लस दस्तावेज़। दुर्भाग्यवश यह काम नहीं करेगा यदि आप एएमएक्स को एडिटर/आईडीई के रूप में उपयोग नहीं कर रहे हैं।

+0

वही प्रश्न पहले पूछा गया है: [क्लोजर प्रतिलिपि में स्वचालित विस्तार या कार्यों और चर के स्वत: पूर्ण करने के लिए कैसे करें] (http://stackoverflow.com/questions/4289480/how-to-do-automatic-expansion-or -autocomplete-कार्यों और चर में एक-सीएल का) –