2014-12-29 6 views
0

В этом скриптеПочему ошибка с моим кодом

data Move = Rock | Paper | Scissor 
      deriving (Show,Eq) 
    lose Rock  = Scissor 
lose Paper  = Rock 
lose _   = Paper 

data Result = Win | Draw | Lose 
       deriving (Show,Eq) 

outcome :: Move -> Move -> Result 
outcome x y 
    | con1  == Win 
    where 
    con1 = (y==(lose x)) 

Интересно, почему есть

parse error on input "where"

Спасибо за ваш заранее!

+0

Проблема, вероятно, заключается в том, что 'con1' находится на неправильном уровне отступа для блока' where'. Вы должны убедиться, что код, который вы вставили, выглядит как код в вашем редакторе, чтобы мы могли видеть, что неправильно. – Squidly

+1

@MrBones отступы не проблема. Я вставил код точно как есть, без ошибки отступа. это связано с использованием '==' вместо '=' в строке выше. –

+0

Фиксация отступов не наносит вреда. – rightfold

ответ

4

В строке перед where вы используете ==, когда вы, вероятно, имели в виду =.

Смежные вопросы