F#选择数组中的单个值

时间:2013-05-19 16:00:42

标签: f#

我第一次潜入F#,试图按照Luca的例子找到here。 我正在很好地解析输入文件,但我仍然试图根据数组中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个字符,不多或少。提前谢谢。

1 个答案:

答案 0 :(得分:2)

问题是前向管道“价值”。这毫无意义。

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

应该有用。

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