menu
書いてる野郎
orebike@gmail.com
複数のクラスをまとめておく名前
Java の場合はパッケージ構造とディレクトリ構造を一致させなければならず、さらにファイル名もクラスと一致させる必要があった。 しかし Scala ではこの制約はなくてどのファイルにでも書けるし、どのディレクトリにあってもよい
package jp.co.hogehoge { class Hoge { } }
このように書く。
入れ子構造にして
package jp { package co { package hogehoge { class Hoge { } } }
このようにも書ける。
しかし通常はパッケージは常にあるし、パッケージの度にインデントがウザいので
package jp.co.hogehoge class Hoge { }
このように括弧を省略して書いてしまう。
使いたい所で
import jp.co.hogehoge.Hoge
このように引き込む。
Java のワイルドカードのようにパッケージ丸々全部したいときは、アンダースコアを使って
import jp.co.hogehoge._
このように書く
全部じゃないけど、複数のクラスを同時に引き込みたいときは括弧を使って
import jp.co.hogehoge.{Hoge, Piyo}
このように記述する
Java とかでは異パッケージの同一名称クラスを混ぜて使う場合はフルパッケージで書く必要があったが、Scala では別名で引きこむことができる
import jp.co.hogehoge.{Hoge => Hooge} import jp.co.piyopiyo.{Hoge => Hoooge}
矢印で別名を指定する。