-Hi। मैं अपने ऐप में प्रारंभिक वातावरण के साथ स्कैला आरपीएल को एम्बेड करना चाहता हूं। मैंने IMain
कक्षा को देखा है और ऐसा लगता है कि मैं इसे इसके उदाहरण के माध्यम से कर सकता हूं। उदाहरण बनाया गया है और फिर intp
ILoop
में सार्वजनिक var में संग्रहीत किया गया है।स्कैला - आरईपीएल पर्यावरण शुरू करें
process()
(उदाहरण के लिए आरईपीएल से पहले) कुछ नाम कैसे जोड़ सकते हैं और/या कुछ आयात जोड़ सकते हैं?
के बाद कोड लाइन 3 पर विफल रहता है क्योंकि intp
अभी तक नहीं बनाया गया है (=> एनपीई):
val x = 3
val interp = new ILoop
interp.bind("x", x) // -> interp.intp.bind("x", x)
val settings = new Settings
settings.usejavacp.value = true
interp.process(settings)
हैं- धन्यवाद।
अद्यतन: अधिभावी createInterpreter()
दुर्भाग्य से काम नहीं करता है:
val x = 3
val interp = new ILoop {
override def createInterpreter() {
super.createInterpreter()
intp.bind("x", x) // -> interp.intp.bind("x", x)
}
}
val settings = new Settings
settings.usejavacp.value = true
interp.process(settings)
दुभाषिया इनपुट पर अटक जाता है (, गतिरोध की तरह दिखता है ऊपर कोड के साथ ही होता है):
x: Int = 3
Failed to created JLineReader: java.lang.NoClassDefFoundError: scala/tools/jline/console/completer/Completer
Falling back to SimpleReader.
Welcome to Scala version 2.9.2 (OpenJDK 64-Bit Server VM, Java 1.7.0_06-icedtea).
Type in expressions to have them evaluated.
Type :help for more information.
scala> println
<infinite_sleep>
धन्यवाद सुझाव के लिए dvigal।
अद्यतन किया है मैंने प्रोजेक्ट को देखा और ऐसा लगता है कि यह काम करेगा। धन्यवाद। – woky