我想编写一个函数来将Console.ReadLine()抽象为字符串seq
当line = null时,seq应该会中断
ConsoleLines(): unit -> string seq
要像这样使用:
for line in ConsoleLines() do DoSomething line
你怎么写这个功能?
谢谢
它不是太漂亮,但它按预期工作:
let rec ConsoleLines() = seq { match Console.ReadLine() with | "" -> yield! Seq.empty | x -> yield x; yield! ConsoleLines() }
Seq.initInfinite (fun _ -> Console.ReadLine())