2014-06-09 14 views
7

Tôi mới sử dụng chương trình Apple và tôi nghĩ mình sẽ thử Swift, nhưng tôi không biết làm thế nào để có được đầu vào của người dùng và lưu trữ nó trong một biến. Tôi đang tìm cách đơn giản nhất để làm điều này, giống như input() và raw_input() trong Python.Làm cách nào để tôi nhập liệu người dùng bằng ngôn ngữ Swift của Apple trong công cụ dòng lệnh?

# 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 

Trả lời

13

Điều này thực sự không dễ dàng trong Swift tại thời điểm này. Cách đơn giản nhất có lẽ là cách Objective-C, sử dụng một NSFileHandle với đầu vào tiêu chuẩn:

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)") 
} 

Hoặc cho đầu vào liên tục:

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) 
    } 
} 

các mã hóa có thể được hiển thị here.

+1

bạn không cần nhãn 'waitOnInput:' trong trường hợp này (và nó làm tôi bối rối khi lần đầu đọc nó) –

+4

tôi biết nó không cần thiết nhưng cá nhân tôi thấy nó làm cho điểm của vòng lặp rõ ràng hơn –

Các vấn đề liên quan