在 f# 中读取未知行数
read unknown number of lines in f#
假设我有 n
(在本例中为 7)输入
10
20
30
40
50
60
70
如何读取所有输入并将它们存储在 list/array 中?
我试过了,
let inputList = [
while (let line = Console.ReadLine()) <> null do
line |> int
]
我的想法是一直读到空行为止。
但是我得到以下错误,
Block following this 'let' is unfinished. Expect an expression.
要以功能样式执行此操作,您可以使用 Seq.initInfinite
从控制台创建序列。
然后,当您使用 Seq.takeWhile
获得空值时,您需要终止此列表。除此之外,您还可以使用所有可用的 Seq
模块函数,包括 Seq.toList
.
let read _ = Console.ReadLine()
let isValid = function null -> false | _ -> true
let inputList = Seq.initInfinite read |> Seq.takeWhile isValid |> Seq.toList
假设我有 n
(在本例中为 7)输入
10
20
30
40
50
60
70
如何读取所有输入并将它们存储在 list/array 中?
我试过了,
let inputList = [
while (let line = Console.ReadLine()) <> null do
line |> int
]
我的想法是一直读到空行为止。
但是我得到以下错误,
Block following this 'let' is unfinished. Expect an expression.
要以功能样式执行此操作,您可以使用 Seq.initInfinite
从控制台创建序列。
然后,当您使用 Seq.takeWhile
获得空值时,您需要终止此列表。除此之外,您还可以使用所有可用的 Seq
模块函数,包括 Seq.toList
.
let read _ = Console.ReadLine()
let isValid = function null -> false | _ -> true
let inputList = Seq.initInfinite read |> Seq.takeWhile isValid |> Seq.toList