13.4. Standardowe importy
W programach języka Scala standardowo zaimportowane są składowe pakietów java.lang i scala oraz obiektu scala.Predef (chyba że istnieje instrukcja importu głównego poziomu jawnie odnosząca się do scala.Predef, co pozwala na selektywne importowanie z tego obiektu).
W plikach DefaultImports1.scala oraz DefaultImports2.scala znajdują się podobne do siebie programy, z tym że w pliku DefaultImports1.scala użyte są pełne odwołania do klas, obiektów i metod, zawierające nazwy pakietów i obiektów, do których one należą, natomiast w kodzie z pliku DefaultImports2.scala wykorzystana jest obecność standardowych importów.
Plik DefaultImports1.scala: object DefaultImports1 { def main(args: scala.Array[java.lang.String]) { val time = java.lang.System.nanoTime val option: scala.Option[scala.Long] = scala.Some(time) scala.Predef.assume(option != scala.None) scala.Predef.println("Hi!") } }
Plik DefaultImports2.scala: object DefaultImports2 { def main(args: Array[String]) { val time = System.nanoTime val option: Option[Long] = Some(time) assume(option != None) println("Hi!") } }
Mimo różnic w sposobie zapisu, oba programy dają ten sam rezultat.
$ scala DefaultImports1 Hi! $ scala DefaultImports2 Hi!
Wiele spośród typów opisywanych w tej książce należy w rzeczywistości do pakietu scala, na przykład do tego pakietu należy wiele typów opisanych w rozdziałach 3 i 9. Typ Int to w rzeczywistości scala.Int, typ Any to scala.Any, itd.
Specyfikacja języka Scala wymienia standardowo importowane elementy w punkcie 9.1, natomiast w punkcie 12.5 opisuje obiekt Predef. |