グルーヴィー
Groovy には というコンパイラが付属していgroovycます。スクリプトごとに、 Java が実行できるように main メソッドを含むgroovycを拡張するクラスを生成します。groovy.lang.Scriptコンパイルされたクラスの名前は、コンパイルされるスクリプトの名前と一致します。
たとえば、次のHelloWorld.groovyスクリプトを使用します。
println "Hello World"
それは次のコードのようになります。
class HelloWorld extends Script {
public static void main(String[] args) {
println "Hello World"
}
}
スカラ
Scala には というコンパイラが付属していscalacます。
たとえば、同じHelloWorld.scalaスクリプトを使用すると、次のようになります。
println("Hello World")
scalacコンパイラはクラスまたはオブジェクトの定義を予期していましたが、Scala REPL インタープリターで機能するため、コードは に対して有効ではありません。どのように可能ですか?実行前にクラスにラップされていますか?