Use "|> write(standardoutput)" instead of " |> standardoutput". And support writing of sequences of strings.

Avoids the special case of "|> WriteableStreamType".
This commit is contained in:
Kare Morstol
2014-10-15 23:03:42 +02:00
parent d09aa63f3e
commit 9136d17843
7 changed files with 58 additions and 30 deletions
@@ -2,4 +2,4 @@
import SwiftShell
run("./listallexecutablesinpath.swift") |> run("./print_linenumbers.swift") |> standardoutput
run("./listallexecutablesinpath.swift") |> run("./print_linenumbers.swift") |> write(standardoutput)
@@ -6,10 +6,10 @@ import SwiftShell
let directories = environment["PATH"]!.split(":")
for directory in directories {
run("find \"\(directory)\" -type f -perm +ugo+x -print") |> standardoutput
run("find \"\(directory)\" -type f -perm +ugo+x -print") |> write(standardoutput)
}
*/
environment["PATH"]! |> split(":")
|> map { directory in run("find \"\(directory)\" -type f -perm +ugo+x -print") }
|> standardoutput
|> write(standardoutput)
@@ -2,9 +2,13 @@
import SwiftShell
/*
var i = 1
for line in standardinput.lines() {
print("line \(i++): ")
println(line)
}
*/
var i = 1
standardinput.lines() |> map {line in "line \(i++): \(line)\n"} |> write(standardoutput)
+1 -1
View File
@@ -2,5 +2,5 @@
import SwiftShell
run("echo this is streamed") |> run("wc -w") |> standardoutput
run("echo this is streamed") |> run("wc -w") |> write(standardoutput)