data Sudoku = Sudoku [[Maybe Int]]
blank :: Sudoku -> Pos
blank (Sudoku rs) = [(y,x) | (r,y) <- rs `zip` [0..8], (c,x) <- r `zip` [0..8], c == Nothing] !! 0
공백은 Nothing
인 첫 번째 위치를 반환합니다. Nothing
이 아닌 경우 오류가 아닌 합당한 것을 반환하고 싶습니다. 내가 어떻게 할 수 있니?목록에서 위치를 반환하는 데 필요한 기초가 필요합니다.
출력 :
이Main> blank example
(0,2)
Main> blank sud
*** Exception: Prelude.(!!): index too large
이 (SUD 아무 것도 포함되어 있지 않습니다)
example =
Sudoku
[ [Just 3, Just 6, Nothing, Nothing, Just 7, Just 0, Just 2, Nothing, Nothing]
, [Nothing, Just 5, Nothing, Nothing, Nothing, Nothing, Just 1, Just 8, Nothing]
, [Nothing, Nothing, Just 9, Just 2, Nothing, Just 4, Just 7, Nothing, Nothing]
, [Nothing, Nothing, Nothing, Nothing, Just 1, Just 3, Nothing, Just 2, Just 8 ]
, [Just 4, Nothing, Nothing, Just 5, Nothing, Just 2, Nothing, Nothing, Just 9 ]
, [Just 2, Just 7, Nothing, Just 4, Just 6, Nothing, Nothing, Nothing, Nothing]
, [Nothing, Nothing, Just 5, Just 3, Nothing, Just 8, Just 9, Nothing, Nothing]
, [Nothing, Just 8, Just 3, Nothing, Nothing, Nothing, Nothing, Just 6, Nothing]
, [Nothing, Nothing, Just 7, Just 6, Just 9, Nothing, Nothing, Just 4, Just 3 ]
]
아마도 예상되는 출력 결과를 입력에 추가 할 수 있습니까? – Sibi
어쩌면 Pos?를 대신 반환하는 것은 어떻습니까? – MathematicalOrchid
정보를 추가했습니다. 아니요, 과제는 제가 포지션을 돌려줘야한다고 말합니다 .. – Josu24