0

我第一次潜入 F#,试图按照 Luca 的示例在这里找到。我在解析输入文件方面做得很好,但我一直在尝试根据数组中 1 值的值过滤我的序列。这里是

    let fileStream = new FileStream(path,FileMode.Open,FileAccess.Read)
    let streamReader = new StreamReader(fileStream)
    let contents = streamReader.ReadToEnd()
    let cleanContents =
        contents.Split([|'\n'|])
        |> Seq.map(fun line -> line.Split([|'\t'|]))
        |> Seq.filter(fun values -> values |> Seq.length = 6)

当我尝试添加这个时,

|> Seq.filter(fun values -> values |> values[0].length = 8)

我得到一个编译错误。我想要做的是检查序列中的第一列是否只有 8 个字符,不多也不少。提前致谢。

4

1 回答 1

2

问题是转发管道“值”。这是没有意义的。

|> Seq.filter(fun values -> values[0].length = 8)

应该管用。

(更新:我错过了对问题的评论,这只是不是 ildjarn 在评论中首先回答了这个问题)

于 2013-05-21T08:40:24.300 回答