Scalaでパッケージおよびライブラリをインポート(import) する方法についてご紹介します。
Scalaに入門したばかりの私が、次の入門書を参考にしながらまとめました。
- 作者: 瀬良和弘,水島宏太,河内崇,麻植泰輔,青山直紀
- 出版社/メーカー: 技術評論社
- 発売日: 2018/10/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
パッケージのインポート
Scalaでは、Javaと同様にクラス、オブジェクト、トレイトなどは必ず何らかのパッケージに所属します。パッケージのインポートは他のプログラミング言語と同じく、プログラムの冒頭で行われます。
ドメイン名を逆順にしたものをパッケージ名とするのが一般的な慣習です。
例えば、SparkのWindow関数を使うためのクラスをインポートする方法は以下の通りです。
import org.apache.spark.sql.expressions.Window
この例では、Windowという名前で org.apache.spark.sql.expressions.Window を参照することができるようになります。
ここで、Windowという同じ名前のクラスがインポートされていて衝突してしまった場合にはどのようにすればいいでしょうか?
Scalaではインポート時の名前衝突を以下のように防ぐことができます。
import org.apache.spark.sql.expressions.{Window => SparkWindow}
また、特定のクラスだけでなく、あるパッケージ配下に所属するすべてのクラスやオブジェクトをインポートしたいときには以下のようなインポート文を書くことができます。
import org.apache.spark.sql.expressions._
このようなインポートはワイルドカードインポートなどと呼ばれます。