我的问题是什么时候输入Seq.为什么没有Seq.tail功能?
在这个不将序列转换为列表的代码Seq.tail中,递归函数中没有可用的函数.是因为Seq.initInfinte用于创建序列,还是有其他原因?
open System
let readList() =
Seq.initInfinite (fun _ -> Console.ReadLine())
|> Seq.takeWhile (fun s -> (s <> ""))
|> Seq.map (fun x -> Int32.Parse(x))
let rec listLen list1 acc =
if Seq.isEmpty list1 then
acc
else
(* There is no Seq.tail available. Compile error. *)
listLen (Seq.tail list1) (acc + 1)
[<EntryPoint>]
let main argv =
let inList = (readList())
let inListLen = listLen inList 0
printfn "%A" inListLen
0 …Run Code Online (Sandbox Code Playgroud)