No es necesario escribir el Console
delante de la declaración porque el objeto Scala Predef
, que se importa automáticamente cualquier archivo de origen Scala, contiene definiciones como éstas:
def println() = Console.println()
def println(x: Any) = Console.println(x)
No se puede crear fácilmente un método "global" que es automáticamente visible en todos lados. Lo que puede hacer es poner estos métodos en un objeto de paquete, por ejemplo:
package something
package object mypackage {
def foo(name: String): Unit = println("Hello " + name")
}
Pero para ser capaz de usarlo, que había necesidad de importar el paquete:
import something.mypackage._
object MyProgram {
def main(args: Array[String]): Unit = {
foo("World")
}
}
(Nota: En lugar de un objeto paquete, también podría ponerlo en un objeto, clase o rasgo normal, siempre que importe el contenido del objeto, clase o rasgo, pero los objetos del paquete están más o menos destinados a este fin).
Gracias. Respuesta casi perfecta. ¿Existe la posibilidad de evitar la importación? Quiero decir: ¿Puedo mejorar este Objeto "Predef"? – fratnk
El objeto del paquete se importa automáticamente en todas las clases y objetos en ese paquete. – missingfaktor
@fratnk: Acerca del uso de StackOverflow: puede hacer clic en la marca de verificación en la parte superior izquierda de mi publicación para aceptarla como la respuesta a su pregunta. – Jesper