2009-11-30 3 views
1

나는 "아니 범위 : x"를 오류를 얻을 때 일을 내가 2의 가드 제거하는 경우, 그러나 ...하스켈 목록 이해

blanks :: Sudoku -> [Pos] 
blanks (Sudoku su) = [ fst x | x <- posSud | isBlank (snd x) ] 
    where 
     isBlank Nothing = True 
     isBlank _  = False 
     posSud   = zip ixPos (concat su) 
     ixPos   = zip ixRows ixCols 
     ixCols   = concat (replicate 9 [0..8]) 
     ixRows   = [floor (x/9) | x <- [0..81]] 

을 다음과 같이 GHCI 나 하나를 포기하지 않고 컴파일 차 라인을 오류.

내가 잘못하고있는 것을 이해하도록 도와 줄 수 있습니까?

답변

13

시도 [ fst x | x <- posSud , isBlank (snd x) ]

+6

Mickel : ** 쉼표 **가 아닌 ** 수직 막대 **로 강조 표시하면됩니다. 여러 개의 세로 막대가 평행 목록 이해에 사용됩니다. 이는 원하는 것이 아니며 (게다가 언어 확장이 필요합니다). – ephemient

+0

감사합니다! – Mickel