Non è necessario scrivere il Console
di fronte alla dichiarazione perché l'oggetto Scala Predef
, che viene importato automaticamente per qualsiasi file sorgente Scala, contiene le definizioni come questi:
def println() = Console.println()
def println(x: Any) = Console.println(x)
Non è possibile creare facilmente un metodo "globale" che è automaticamente visibile ovunque tu. Che cosa si può fare è mettere tali metodi in un oggetto del pacchetto, ad esempio:
package something
package object mypackage {
def foo(name: String): Unit = println("Hello " + name")
}
Ma per essere in grado di usarlo, avresti bisogno di importare il pacchetto:
import something.mypackage._
object MyProgram {
def main(args: Array[String]): Unit = {
foo("World")
}
}
(Nota: Invece di un oggetto pacchetto, potreste anche inserirlo in un oggetto, classe o tratto normale, purché importiate il contenuto dell'oggetto, classe o tratto - ma gli oggetti pacchetto sono più o meno pensati per questo scopo).
Grazie. Risposta quasi perfetta. C'è la possibilità di evitare l'importazione? Voglio dire: posso migliorare questo oggetto "Predef"? – fratnk
L'oggetto del pacchetto viene importato automaticamente in tutte le classi e gli oggetti in quel pacchetto. – missingfaktor
@fratnk: Informazioni sull'utilizzo di StackOverflow: è possibile fare clic sul segno di spunta nella parte in alto a sinistra del mio post per accettarlo come risposta alla domanda. – Jesper