Каков идиоматический способ в F # для написания небольших инструментов командной строки UNIX, которые обрабатывают строки из stdin
и записывают в stdout
? Я новичок в F #, и собрал приведенный ниже шаблон из различных сообщений SO, который работает, но есть ли более элегантный / более идиоматический способ для этого последнего выражения?
#!/usr/bin/fsharpi --exec
let transform (line : string) =
SOME_FUNCTION_OF line // line transformation goes here
// is there a more idiomatic way of writing this:
Seq.initInfinite(fun _ -> System.Console.In.ReadLine())
|> Seq.takeWhile(fun line -> line <> null)
|> Seq.iter(fun x -> printfn "%s" (transform x))