Spec-Zone.ru › Haskell 7

Data.Bool

Авторские права (с) Университет Глазго 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность экспериментальная
Переносимость переносимая
Safe Haskell Надежный
Язык Haskell2010

Содержание

  • Булевы значения
    • Операции

Описание

Тип Bool и связанные функции.

Булевы значения

data Bool :: * Исходный код

Конструкторы

False
True

Примеры использования

Bounded Bool
Enum Bool
Eq Bool
Data Bool
Ord Bool
Read Bool
Show Bool
Ix Bool
Generic Bool
FiniteBits Bool
Bits Bool
Storable Bool
type Rep Bool
type (==) Bool a b

Операции

(&&) :: Bool -> Bool -> Bool infixr 3 Исходный код

Булево "и"

(||) :: Bool -> Bool -> Bool infixr 2 Исходный код

Булево "или"

not :: Bool -> Bool Исходный код

Булево "не"

otherwise :: Bool Исходный код

otherwise определено как значение True. Помогает сделать условия более читабельными. Например.

 f x | x < 0     = ...
     | otherwise = ...

bool :: a -> a -> Bool -> a Исходный код

Анализ по типу Bool. bool x y p вычисляется как x если p имеет значение False, и вычисляется как y если p имеет значение True.

Это эквивалентно if p then y else x; то есть можно представить это как конструкцию if-then-else с переупорядоченными аргументами.

Примеры

Основное использование:

>>> bool "foo" "bar" True
"bar"
>>> bool "foo" "bar" False
"foo"

Подтвердите, что bool x y p и if p then y else x эквивалентны:

>>> let p = True; x = "bar"; y = "foo"
>>> bool x y p == if p then y else x
True
>>> let p = False
>>> bool x y p == if p then y else x
True

С версии: 4.7.0.0

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Data-Bool.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API