我想從scala的解釋器中使用IMain方法來運行已轉換爲字符串的函數。但是我無法將用戶創建的類導入到解釋器中。將類文件導入Scala解釋器IMain
例如,你可以很容易地從數據庫中階如導入類:
val m = new IMain()
m.interpret("import scala.math.sin")
m.interpret("sin(10)")
而這種進口仍將只要解釋器運行。不過,我一直沒能找到一種方法來導入我所創建的類和對象(或任何私人圖書館):
m.interpret("import sounder.Sounder.play"
m.interpret("play(t=>50*sin(2*Pi*t*400),0,10")
(播放是播放聲音了通過計算機的聲卡的方法)
我曾嘗試使用解釋器中的所有方法,但似乎沒有工作。我提出的唯一解決方案是將類文件轉換爲with的一行;分離每一行並通過解釋來運行它,但即使這樣也會遇到妨礙編譯的問題。
是否有一種方法可以輸入到解釋器中,或者是有另一個過程允許scala解釋器處理一個字符串。
感謝您的幫助,我在Windows 7計算機上運行Scala 2.9.2。
完全沒有使用IMain,因爲0__給定的解決方案不起作用。相反,我創建了一個類,它將使用模式匹配來確定正在使用的函數的類型。效率不高,效率不高,但是我能找到的最佳解決方案。 – user1917645