Presumo che si desidera leggere la password dal prompt della console, quindi sarà necessario per creare un'istanza Console
dal System
(Console
non è un Singleton).
scala> val standardIn = System.console()
standardIn: java.io.Console = [email protected]
scala> val password = standardIn.readPassword()
Nota che nessun import
è necessario a causa di inferenza di tipo di Scala e il fatto che System
è già in ambito di default.
Consultare lo javadoc per java.io.Console
per ulteriori informazioni.
EDIT: In un programma compilato Scala:
object ReadPassword {
def main(args: Array[String]) {
val standardIn = System.console()
println("standardIn object: " + standardIn)
print("Password> ")
val pw = standardIn.readPassword()
print("Password: ")
pw.foreach(print) // For demonstration purposes
println()
}
}
Compilazione/corsa:
$ scalac ReadPassword.scala
$ scala ReadPassword
standardIn object: [email protected]
Password>
Password: hello world
grazie per la risposta. Posso ottenere un'istanza della Console nello strumento REPL, come nel tuo codice. Tuttavia, se provo a fare lo stesso in un programma Scala (o in un foglio di lavoro Scala), standardIn ottiene un valore nullo. Non ho idea del perché. – Sergio
'standardIn' è l'oggetto console, il metodo' getPassword' restituirà un 'char []' della password inserita. Ho aggiunto un esempio di un programma di esempio che ho scritto e sembrava funzionare bene. – adelbertc