scala プログラミングに Intellij-idea を使用しています (sbt プラグインを使用)。
scala クラス、scala スクリプト、scala ワークシートの違いを知りたいです。それぞれをいつ使用しますか?
簡単な例で説明していただけるととても助かります。
ありがとう
scala プログラミングに Intellij-idea を使用しています (sbt プラグインを使用)。
scala クラス、scala スクリプト、scala ワークシートの違いを知りたいです。それぞれをいつ使用しますか?
簡単な例で説明していただけるととても助かります。
ありがとう
scala コードを実行するにはさまざまな方法があります。
最初にクラスを使用してプログラムを作成します。これはJavaの場合と同様です。オブジェクトを使用します。静的のようにインスタンス化せずにうまく機能するためです。SBTでコンパイルして実行するだけで、scala Interpreter REPLも使用できます
このオブジェクトを REPL で使用できます
scala> object Hello {
| def main(args:Array[String]) {
| println("Hello, Scala !!")
| }
| }
defined object Hello
scala> Hello.main(Array("onlyforwork"))
Hello, Scala !!
Activator/SBT を使用してコンパイルおよび実行する
> compile
[info] Compiling 1 Scala source to /home/anquegi/Dev/StackOverFlow/scalaStack/target/scala-2.11/classes...
[success] Total time: 2 s, completed 13/04/2015 11:29:42
> run
[warn] Multiple main classes detected. Run 'show discoveredMainClasses' to see the list
Multiple main classes detected, select one to run:
[1] org.example.Hello
[2] org.example.ScheduledTaskScala
[3] question1.Ques
[4] scriptworksheet.Hello
Enter number: 4
[info] Running scriptworksheet.Hello
Hello, Scala !!
[success] Total time: 19 s, completed 13/04/2015 11:30:04
2 つ目は、scala コードをスクリプトまたはファイル Hello.scala として追加する場合、scala コードを .scala 拡張子 (基本的には任意のファイル拡張子を使用しますが、.scala 拡張子が望ましい) でファイルに保存し、実行して、ファイルを提供することができます。 scala インタープリターへのパラメーターとしての拡張子付きの名前
/**
* Created by anquegi on 13/04/15.
*/
println("Hello, Scala !!")
scala インタープリターを呼び出すと、このファイルが実行されます。オブジェクトやクラスをインスタンス化する必要はありません。シェル スクリプトのように実行するだけです。Intellij から直接実行することもできますが、システムに scala がインストールされたコンソールを使用します。
[anquegi@localhost scalaStack]$ scala src/main/scala/scriptworksheet/HelloScript.scala
Hello, Scala !!
そして最後に、ワークシートは最も強力です。職場での生産性を高めるためにこれをお勧めします。これは、REPL のようなものを簡単にテストできるためです。スカラ表現を評価し、結果を表示します。
以下は、scala ワークシートに関する公式の github リポジトリ wiki からの抜粋です。
ワークシートは、保存時に評価される Scala ファイルであり、各式の結果はプログラムの右側の列に表示されます。ワークシートは、強力な REPL セッションのようなもので、完成、ハイパーリンク、入力時のインタラクティブなエラー、自動フォーマットなど、一流のエディター サポートを利用できます。
// We can define objects or classes and the worksheet
//will print the sesult of every expression
object Hello {
def main(args:Array[String]) {
println("Hello, Scala !!")
}
}
println("Hello Scala")
val a = 4 + 5
結果
defined module Hello
Hello Scala
res0: Unit = ()
a: Int = 9
次に、Intellij でスクリプト用のワークシートとコンソールをクラスで使用していることを示すキャプチャ