scala のインタープリターから IMain メソッドを使用して、文字列に変換された関数を実行しようとしています。ただし、ユーザーが作成したクラスをインタープリターにインポートできません。
たとえば、scala データベースからクラスを簡単にインポートできます。
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 を実行しています。