यहाँ एक सरल स्क्रिप्ट है

fun main() {
    print("ready> ")
    val input = readLine()
    println("User input: $input")
}

जब मैं इस प्रोग्राम को gradle runReleaseExecutableMacos के साथ चलाता हूं, तो मुझे उम्मीद है कि मुझे एक ready> प्रॉम्प्ट दिखाई देगा और मेरे पास कुछ वर्ण टाइप करने की संभावना होगी। लेकिन परिणामस्वरूप यह प्रोग्राम User input: null के साथ तुरंत समाप्त हो जाता है।

क्या मैं कुछ भूल रहा हूँ?

5
Feedforward 15 जुलाई 2019, 01:20

1 उत्तर

सबसे बढ़िया उत्तर

अपने इच्छित व्यवहार को प्राप्त करने के लिए, आप ग्रैडल द्वारा निर्मित निष्पादन योग्य फ़ाइल चला सकते हैं। इसका एक एक्सटेंशन *.kexe होगा।


साथ ही, आप अपनी build.gradle फ़ाइल को अतिरिक्त पैरामीटर के साथ बढ़ा सकते हैं। आपको कुछ इस तरह जोड़ना होगा:

macosX64("macos") {
    binaries {
        executable {
            runTask.standardInput = System.in
        }
    }
}
5
Artyom Degtyarev 15 जुलाई 2019, 11:46