Scalaの環境構築
Scalaが気になっていたところ、どうやらビルドにGradleを使わなくても良いと聞いて俄然触りたくなったので触ってみる。
インストール
Scalaのビルドツールであるsbtをインストールする。
Bash, Zshを使っている方はインストーラー側でPATHを通してくれるけど、fishには対応してないっぽいので自力でPATHを通す。
sbtコマンドが使えるようになったらsbt setupを実行してインストールは終了。
Nvimでの環境構築
自分は面倒だったのでhome-managerでmetalsを導入してlspconfigの設定を足して終わりにした。
ハイライトはTree-sitterの自動インストールを有効にしてれば勝手にされる。してない場合はTSInstallする必要がある。
REPL
この時点でscalaというコマンドが実行できるようになっているので起動してみる。
するとREPLが起動するので、println("Hello, world")と入力してみる。ちなみにTab補完が効く。
実行するとこんな感じになっていると思う。
code:txt
scala> println("Hello, world")
Hello, world
このREPLはC-cで終了できる。
Hello, world
プロジェクトを作成するにはsbt newコマンドを使う。
引数にはプロジェクトのテンプレートがあるGitHubリポジトリを指定する必要がある。
code:sh
sbt new scala/scala3.g8
するとこんな感じでファイルが展開されていると思う。
code:txt
.
├── build.sbt
├── memo.md
├── project
│ └── build.properties
├── README.md
└── src
├── main
│ └── scala
│ └── Main.scala
└── test
└── scala
└── MySuite.scala
Main.scalaファイルを開くとこんな感じでHello, worldするためのプログラムが既に記述されている。
code:scala
@main def hello(): Unit =
println("Hello world!")
println(msg)
def msg = "I was compiled by Scala 3. :)"
sbtで対話環境を起動し、runと打ち込んでプログラムを実行する。すると
code:txt
Hello world!
I was compiled by Scala 3. :)
と表示されて正常終了する。
なおこの対話環境を起動せずともsbt runでプログラムの実行は可能。
けれどキャッシュが効いたりする恩恵を受けられないので、対話環境で実行することをオススメする。