私は Scala を初めて使用しますが、なぜこのスクリプトでメイン メソッドが実行されないのか疑問に思っていました。
class Word {
}
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
Word
興味深いのは、クラスを削除すると正常に動作することです。どうしてこれなの?どうすれば修正できますか?
私は Scala を初めて使用しますが、なぜこのスクリプトでメイン メソッドが実行されないのか疑問に思っていました。
class Word {
}
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
Word
興味深いのは、クラスを削除すると正常に動作することです。どうしてこれなの?どうすれば修正できますか?
Unix のフレーバーを使用している場合は、ファイルの先頭にパウンド バンディレクティブを追加することで、Scala スクリプトをシェル スクリプトとして実行できます。
たとえば、 という名前のファイルに次のように入力しますhelloarg
。
#!/bin/sh
exec scala "$0" "$@"
!#
// Say hello to the first argument
println("Hello, "+ args(0) +"!")
イニシャル#!/bin/sh
は、ファイルの最初の行でなければなりません。
実行権限を設定したら:
$ chmod +x helloarg
次のように言うだけで、Scala スクリプトをシェル スクリプトとして実行できます。
$ ./helloarg globe
Windows を使用している場合は、ファイルに名前を付け、helloarg.bat
これをスクリプトの先頭に配置することで、同じ効果を得ることができます。
::#!
@echo off
call scala % 0 % *
goto :eof
::!#