2013-05-19 1 views
0

나는 처음으로 F #으로 다이빙을하고 있는데, Luca의 예제를 따라 가려고 시도한 결과는 here입니다. 입력 파일을 구문 분석하는 데 꽤 잘하고 있지만 배열의 값 1을 기준으로 시퀀스를 필터링하려고합니다. 나는 시도하고 이것을 추가하면 다음 F # 배열의 단일 값을 선택하는 중

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

은 내가 컴파일 오류의

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) 

입니다. 내가하고 싶은 일은 시퀀스의 첫 번째 열에 8 자 이상이 있는지 확인하는 것입니다. 미리 감사드립니다.

+1

이 그냥 '값을 제거 |>'. – ildjarn

+1

나는 이것을 작동시키기 위해서 이렇게했다 : Seq.filter (fun values ​​-> values. [0] .Length = 8) –

답변

2

문제는 순방향 배관 "값"입니다. 이것은 말이되지 않습니다.

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

.

(업데이트 :이 질문에 대한 의견을 놓친이 아닌 그 ildjarn는 의견이 먼저 대답 단지에있다)

관련 문제