этот код, чтобы определить эксклюзивный стол дизъюнкция правда в HaskellКак определить эксклюзивные дизъюнкции с гвардейской Использование Haskell
Click here for more info on exclusive disjunction, XOR Код:
-- truth table concept of logical XOR
exclusiveDisjunction :: Bool -> Bool -> Bool
exclusiveDisjunction = x y
|True True <- False
|True False <- True
|False True <- True
|False False <- False
|otherwise = x y
Результаты:
Ex6^.hs:31:5:
parse error on input ‘|’
Failed, modules loaded: none.
Как установить охранники с двумя булевыми значениями es задает таблицу истинности xor в синтаксисе haskell?
Спасибо Просьба указать ваш ответ, не используя haskell, встроенные в операторы, что означает не использовать & & ||.
Почему это не может быть сделано?
exclusiveDisjunction2 :: Bool -> Bool -> Bool
exclusiveDisjunction2 x y
|True True = False
|True False = True
|False True = True
|False False = False
это результат после запуска
Couldn't match expected type ‘Bool -> Bool’ with actual type ‘Bool’
The function ‘False’ is applied to one argument,
but its type ‘Bool’ has none
In the expression: False False
In a stmt of a pattern guard for
an equation for ‘exclusiveDisjunction2’:
False False
Мне очень нравится, как диапазон ответов демонстрирует широкий диапазон, как многословный/точный код кода может быть написан в Haskell. Вы также можете увидеть эволюцию от подробного к краткому. – epsilonhalbe