- swift 2.2
- Xcode 7.3
class StandardErrorOutputStream: OutputStreamType {
func write(string: String) {
let stderr = NSFileHandle.fileHandleWithStandardError()
if let odata = string.dataUsingEncoding(NSUTF8StringEncoding) {
stderr.writeData(odata)
}
}
}
var standardError = StandardErrorOutputStream()
print("stderr", toStream: &standardError)
NSDataへの変更で失敗することがあるのかよく知らないけど、失敗するとつらそう。
遊びで気軽に出力するならlibcのfputs使うほうが楽そう。
fputs("stderr", stderr)
場合によってはimport Darwin
が必要になるかもしれないが、どんなときに必要かは調べていない。