Closed31
Scalaやってみる
今のところの方針
- IDE: IntelliJ IDEA
- SDKMAN!は使わず、Coursierを使用
環境構築(即席Docker)
公式イメージってあるん?
環境構築(Dockerfile)
Dockerfile
はこちら。
./docker/Dockerfile
FROM openjdk
RUN curl -fL https://github.com/VirtusLab/coursier-m1/releases/latest/download/cs-aarch64-pc-linux.gz | gzip -d > cs && chmod +x cs
RUN ./cs setup --yes
# プロファイルを設定
RUN cp ~/.profile ~/.bashrc
WORKDIR /project
CMD ["bash"]
実行はこんな感じ。
./docker/run.sh
# リビルドする場合はコメントアウトを外す
# docker image build ./docker -t scala
docker run -it --rm scala
アンインストールはcs
が使える
sbtとは?
sbtはScalaのビルドツール。
公式ページのGetting Startedにも載ってる。
最小限のHello World:
@main def hello() = println("Hello World!")
予想:
-
hello
関数を@main
でメインクラスに指定している -
()
をつけると=
の後の内容が処理内容となる関数になる
関数の定義例:
def add(x: Int, y: Int): Int = {
println("add")
return x + y
}
なお、戻り値の型は推論してくれないので必須。
呼び出し例:
@main def hello() = {
println("Hello World!")
val sum = add(5, 2)
println("add: " + sum)
}
環境構築(ローカル)
Homebrewで行けると聞いて
Coursierのインストール
brew install coursier
JDKのインストールをしていなかった場合、デフォルトだとjava
コマンドが使えず動かない。
インストール自体は済んでいるので、コマンドの場所をJAVA_HOME
環境変数を通して伝えればOK。
場所は人によって違うと思う。
インストール時のログに書いてあるから、そこを見るべし。
MacでHomebrewを使っていたら/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home
かも。
~/.zprofile
# いろいろ
export JAVA_HOME="/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home"
# いろいろ
これができたらjava
コマンドが動くはず。
そして、scalac --version
が動くはず。
ちょっとコードを試すだけなら、scala
でREPLが立ち上がる。
また、ファイルで試したいならscala run
が使える。
IDE: IntelliJ IDEA
環境構築はできたはずなので、別のスクラップに移行
このスクラップは1ヶ月前にクローズされました