如何在Swift for Linux中读取用户输入或stdin?

mas*_*oud 7 linux swift

如何从Swift for Linux中的标准输入读取用户输入或字符流?

aya*_*aio 8

readLine()适用于Ubuntu 15:

[Readline]返回Character从标准输入读取的当前行的结尾或者直到达到EOF,或者nil是否已达到EOF.

例:

print("\nEnter your name:\n")
if let name = readLine() {
    print("\nHello \(name)!\n")
}
Run Code Online (Sandbox Code Playgroud)

ed @ swiftux:〜/ Swift/Scripts $ ./testReadline

输入你的名字:

埃里克

你好埃里克!

readline()也适用于|(管道):

ed @ swiftux:〜/ Swift/Scripts $ echo"Mike"| ./testReadline

输入你的名字:

你好迈克!


我也尝试过使用NSFileHandle的经典方法,但它还没有实现:

致命错误:尚未实现availableData:文件Fou​​ndation/NSObjCRuntime.swift