2014-06-09 20 views
7

Sono nuovo alla programmazione Apple e ho pensato di provare Swift, ma non ho idea di come ottenere input da parte dell'utente e memorizzarlo in una variabile. Sto cercando il modo più semplice per farlo, qualcosa come input() e raw_input() in Python.Come posso ottenere l'input dell'utente nel linguaggio Apple Swift in uno strumento da riga di comando?

# Something like this (Python code) 
name = raw_input() # name is a string 
print "Your name is ", name 
number = input() # number is an int or float 

risposta

13

Questo in realtà non è facile in Swift a questo punto. Il modo più semplice è probabilmente il modo Objective-C, utilizzando un NSFileHandle con standard input:

import Foundation 

var fh = NSFileHandle.fileHandleWithStandardInput() 

println("What is your name?") 
if let data = fh.availableData { 
    var str = NSString(data: data, encoding: NSUTF8StringEncoding) 
    println("Your name is \(str)") 
} 

O per ingresso continuo:

println("I will repeat strings back at you:") 
waitingOnInput: while true { 
    if let data = fh.availableData { 
     var str = NSString(data: data, encoding: NSUTF8StringEncoding) 
     println(str) 
    } 
} 

Le possibili codifiche sono mostrati here.

+1

non hai bisogno dell'etichetta 'waitingOnInput:' in questo caso (e mi ha confuso quando l'ho letto per la prima volta) –

+4

so che non è necessario, ma personalmente trovo che il punto del loop sia più ovvio –

Problemi correlati