2013-05-19 77 views
0

我第一次潜入F#,试图按照Luca的例子找到here。 我很好地解析输入文件,但我坚持试图根据数组中1值的值过滤我的序列。这里是F#在数组中选择一个值

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

刚刚摆脱的'值|>'。 – ildjarn

+1

我这样做是为了让它工作:|> Seq.filter(fun values - > values。[0] .Length = 8) –

回答

2

这个问题是正向管道“值”。这没有意义。

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

应该工作。

(更新:我错过了评论的问题,这仅仅是不是ildjarn回答了这个在评论第一)

相关问题