相关疑难解决方法(0)

为什么Seq.tail不是一个选择

我的问题是什么时候输入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)

f# list seq visual-studio-2015

3
推荐指数
2
解决办法
187
查看次数

标签 统计

f# ×1

list ×1

seq ×1

visual-studio-2015 ×1