if/then/else 블록이 컴파일러에서 설정되지 않았기 때문에 컴파일하지 않은 코드 블록이 있습니다. 그러나 이해할 수 있도록 다시 작성하는 방법을 알아낼 수는 없습니다. 목록이 비어있는 경우 if/then/else in do 문 (Haskell)
playRandomly board = do
let vMoves = getValidMoves board board
if vMoves == [] then return [] else
rMove <- uniform vMoves
let Just nBoard = runMove board rMove
rest <- playRandomly nBoard
return (rMove : rest)
은 기본적으로 기능
uniform
은 0으로 나누는 것, 그래서 나는이를 잡아와 DO 문에 수행하기 전에 빈 목록을 반환하는 방법이 필요합니다. 어떤 충고?
그냥 재미로, 나는 [여기] (http://lpaste.net/115385) 대체 restyling 붙여 넣습니다. 이것을 대답으로 두지 않기 때문에, 실제로 "들여 쓰기가이 작업을하게 만드는"질문에 실제로 대답하지 않기 때문입니다. –