次の呼び出しを実行するたびに、以前に実行したコードを「忘れる」ように Scala インタープリター ( tools.nsc.IMain
)を構成することは可能ですか?interpret()
通常、ソースをコンパイルすると、ネストされたオブジェクトにラップされるため、以前に定義されたすべての変数、関数、およびバインディングが利用可能になります。
ネストされたオブジェクトを生成しない (またはそれらを破棄する) だけで十分ですが、以前にコンパイルされたクラスをクラス ローダーから再度削除するソリューションを希望します。
設定、方法、または上書きできるもの、またはIMain
これを達成するための代替手段はありますか? 結果のオブジェクト/クラスにホスト VM から引き続きアクセスできる必要があります。
基本的に、反復ごとinterpret()
に新しいものを作成するような重いものを使わずに、後続の呼び出しを分離したいと考えています。IMain