この質問は少しばかげているように聞こえるかもしれませんが、コマンドラインからScalaメソッドを開始する方法がわかりませんでした。
私は次のファイルをコンパイルしましたTest.scala
:
package example
object Test {
def print() {
println("Hello World")
}
}
とscalac Test.scala
。
次に、2つのステップでメソッドprint
を実行できます。scala
C:\Users\John\Scala\Examples>scala
Welcome to Scala version 2.9.2 (Java HotSpot(TM) Client VM, Java 1.6.0_32).
Type in expressions to have them evaluated.
Type :help for more information.
scala> example.Test.print
Hello World
しかし、私が本当にやりたいのは、のような1つのコマンドを使用して、コマンドラインから直接メソッドを実行することですscala example.Test.print
。
どうすればこの目標を達成できますか?
更新: ArikGによって提案された解決策は私には機能しません-私が欠けているものは何ですか?
C:\Users\John\Scala\Examples>scala -e 'example.Test.print'
C:\Users\John\AppData\Local\Temp\scalacmd1874056752498579477.scala:1: error: u
nclosed character literal
'example.Test.print'
^
one error found
C:\Users\John\Scala\Examples>scala -e "example.Test.print"
C:\Users\John\AppData\Local\Temp\scalacmd1889443681948722298.scala:1: error: o
bject Test in package example cannot be accessed in package example
example.Test.print
^
one error found
どこ
C:\Users\John\Scala\Examples>dir example
Volume in drive C has no label.
Volume Serial Number is 4C49-8C7F
Directory of C:\Users\John\Scala\Examples\example
14.08.2012 12:14 <DIR> .
14.08.2012 12:14 <DIR> ..
14.08.2012 12:14 493 Test$.class
14.08.2012 12:14 530 Test.class
2 File(s) 1.023 bytes
2 Dir(s) 107.935.760.384 bytes free
更新2-可能な解決策:
- ArikGが正しく提案したように、with
scala -e "import example.Test._; print"
はWindows7でうまく機能します。 - importステートメントなしで動作させるには、Danielの回答を参照してください