tl;dr
- これからは、
using lib
のかわりにusing dep
って書いてね - 後方互換性は保たれます
本編
Scalaのスクリプティングツールとして愛用されているScala CLIですが、このたび2月22日にv0.2.0がリリースされ、さらに3月16日にv0.2.1がリリースされたようです。そしてつい先程v1.0.0-RC1が作成され、Scalaの標準的ツールとしての地位に上るための準備に奔走しているようです。*1
そのv0.2.0にて、using
ディレクティブの用語が一部変更されました。端的には、以下の変更が行なわれました。
//> using lib
は//> using dep
とリネームする。- 後方互換性として
//> using lib
の利用も当分サポートする。
これから新規にScala Scriptを作成する際は、ライブラリ依存性の指定としてusing dep
を使うようにするとよいでしょう。後方互換性があるため、過去に作成されたScala Scriptの修正を行うかどうかは利用者に委ねられています。
そもそもusing
ディレクティブって何
Scala CLIでは、これまでのScalaプロジェクトで標準的に行なわれてきたようにbuild.sbt
に依存ライブラリを定義するのではなく、スクリプト上に直接依存ライブラリを定義します。
//> using scala "3.1" //> using dep "オーガナイゼーション名::アーティファクト名:バージョン" // code ...
具体的には、以下のような定義を行います。
//> using lib "org.apache.spark::spark-core:3.3.1" //> using lib "org.apache.spark::spark-sql:3.3.1" //> using lib "org.apache.spark::spark-mllib:3.3.1"
こうすることで単体のスクリプトファイルでScalaのアプリケーションを簡単に作成できます。
ちなみにこの表記はScalaのライブラリ検索サイトであるScaladexから直接コピーしてくることができるので、覚えておくと便利です。
そもそもScala Scriptって何
はじめよう!
*1:scala-cilは将来的にscalaコマンドを叩いたときのデフォルトREPLとして採用されることが決定しています。