2016-01-24 7 views
17

मैंने देखा कि IntelliJ .kts फ़ाइलों को कोटलिन के रूप में पार्स कर सकता है और कोड संपादक उन्हें फ्री-फ्लोटिंग कोटलिन फ़ाइलों के रूप में चुनता है। आप IntelliJ में स्क्रिप्ट चलाने में भी सक्षम हैं क्योंकि आप एक मुख्य विधि के साथ एक कोटलिन फ़ाइल करेंगे। स्क्रिप्ट ऊपर से नीचे तक निष्पादित होती है।मैं कोटलिन/जावा के भीतर सेटलिन-स्क्रिप्ट (.kts) फ़ाइलों को कैसे चला सकता हूं?

यह प्रोजेक्ट उस परियोजना के लिए बिल्कुल सही है जिस पर मैं काम कर रहा हूं, अगर केवल मुझे जावा या कोटलिन के भीतर से उपयोग करने का एक आसान तरीका पता था।

जावा या कोटलिन से इन स्क्रिप्ट को चलाने के लिए बेवकूफ तरीका क्या है?

+2

आप https://github.com/cypressious/KotlinW पर एक नज़र ले जा सकते हैं। मूल रूप से आप संकलक पैरामीटर के साथ संकलक का आह्वान करते हैं। –

+0

@ किरीलरखमान धन्यवाद, लेकिन क्या इसका प्रदर्शन प्रभाव नहीं होगा? आप कोटलिन/जावा के भीतर से फ़ंक्शंस, कक्षाएं और अधिक संदर्भित नहीं कर पाएंगे। – Jire

+0

यदि यह अस्तित्व में नहीं है, तो फ़ाइल के नाम के साथ कक्षा के बाइटकोड उत्पन्न करके और 'रन' जैसे फ़ंक्शन को उत्पन्न करने के लिए कार्यान्वित करना संभव होगा? – Jire

उत्तर

19

ध्यान दें कि कोटलिन में स्क्रिप्ट फाइलों का समर्थन अभी भी बहुत अधिक प्रयोगात्मक है। यह एक अनियंत्रित सुविधा है जिसे हम अभी भी डिजाइन करने की प्रक्रिया में हैं। आज क्या काम कर रहा है कल बदल सकता है, तोड़ सकता है या गायब हो सकता है।

उस ने कहा, वर्तमान में एक स्क्रिप्ट को आमंत्रित करने के दो तरीके हैं। आप कमांड लाइन संकलक का उपयोग कर सकते हैं:

kotlinc -script foo.kts <args> 

या आप स्क्रिप्ट सीधे IntelliJ विचार से, संपादक में या परियोजना दृश्य में एक .kts फ़ाइल और "भागो पर आह्वान कर सकते हैं राइट-क्लिक करके ... ":

Run .kts from IntelliJ IDEA

+2

पर एक नज़र डालें। मैं जावा या कोटलिन में हवा को निष्पादित करने के लिए इन स्क्रिप्ट के लिए उचित बाइटकोड उत्पन्न करने के लिए कुछ पर काम कर सकता हूं। – Jire

+0

@Alexander रनटाइम ऐप्स में कोटलिन के साथ स्क्रिप्टिंग पर कोई खबर? यदि संभव हो तो हम कोटलिन के साथ ग्रोवी रनटाइम स्क्रिप्ट को प्रतिस्थापित करना चाहते हैं :) – Dodge

+0

@ जेएसआर 223 (जावा स्क्रिप्टिंग इंजन एपीआई) के माध्यम से रनटाइम पर कोटलिन स्क्रिप्ट चलाने वाले डॉज वर्तमान में प्रगति पर काम कर रहे हैं। आप https://github.com/JetBrains/kotlin/tree/master/libraries/examples/kotlin-jsr223-local-example पर आज क्या हासिल किया जा सकता है इसका एक उदाहरण मिल सकता है। जैसे ही इसे लागू किया गया है और ठीक से दस्तावेज किया गया है, मैं अपना उत्तर अपडेट कर दूंगा। –

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

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