I want to write a function to abstract Console.ReadLine() into a string seq
the seq should break when line = null
ConsoleLines(): unit -> string seq
To be used like this:
for line in ConsoleLines() do
DoSomething line
How do you write this function?
Thanks
Seq.initInfinite (fun _ -> Console.ReadLine())
Its not overly pretty, but it works as expected:
let rec ConsoleLines() =
seq {
match Console.ReadLine() with
| "" -> yield! Seq.empty
| x -> yield x; yield! ConsoleLines()
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With