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.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.