グルーヴィー
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 インタープリターで機能するため、コードは に対して有効ではありません。どのように可能ですか?実行前にクラスにラップされていますか?