Data.Bool
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | стабильная |
| Переносимость | переносимая |
| Safe Haskell | Безопасный |
| Язык | Haskell2010 |
Содержание
Описание
Тип Bool и связанные функции.
Булевы значения
Экземпляры
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bool -> c Bool Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bool Исходный код toConstr :: Bool -> Constr Исходный код dataTypeOf :: Bool -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bool) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bool) Исходный код gmapT :: (forall b. Data b => b -> b) -> Bool -> Bool Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Bool -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Bool -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код | |
| Bounded Bool Исходный код | С тех пор как: base-2.1 |
Определено в GHC.Internal.Enum | |
| Enum Bool Исходный код | С тех пор как: base-2.1 |
Определено в GHC.Internal.Enum Методыsucc :: Bool -> Bool Исходный код pred :: Bool -> Bool Исходный код toEnum :: Int -> Bool Исходный код fromEnum :: Bool -> Int Исходный код enumFrom :: Bool -> [Bool] Исходный код enumFromThen :: Bool -> Bool -> [Bool] Исходный код enumFromTo :: Bool -> Bool -> [Bool] Исходный код enumFromThenTo :: Bool -> Bool -> Bool -> [Bool] Исходный код | |
| Storable Bool Исходный код | С тех пор как: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Bool -> Int Исходный код alignment :: Bool -> Int Исходный код peekElemOff :: Ptr Bool -> Int -> IO Bool Исходный код pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Bool Исходный код pokeByteOff :: Ptr b -> Int -> Bool -> IO () Исходный код | |||||
| Generic Bool Исходный код | |||||
Определено в GHC.Internal.Generics | |||||
| SingKind Bool | С версии: base-4.9.0.0 |
||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Ix Bool Исходный код | С версии: base-2.1 |
||||
Определено в GHC.Internal.Generics | |
| SingI 'Истина | С момента: base-4.9.0.0 |
Определено в GHC.Internal.Generics | |
| Lift Bool Исходный код | |
Определено в GHC.Internal.TH.Lift | |
| type DemoteRep Bool Исходный код | |
Определено в GHC.Internal.Generics | |
| type Rep Bool Исходный код | С момента: base-4.6.0.0 |
| data Sing (a :: Bool) Исходный код | |
Операции
(&&) :: 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 f t p вычисляется в f когда p равно False, и вычисляется в t когда p равно True.
Это эквивалентно if p then t else f; то есть, можно представить его как конструкцию if-then-else с переупорядоченными аргументами.
Примеры
Базовое использование:
>>> bool "foo" "bar" True "bar" >>> bool "foo" "bar" False "foo"
Подтвердите, что bool f t p и if p then t else f эквивалентны:
>>> let p = True; f = "bar"; t = "foo" >>> bool f t p == if p then t else f True >>> let p = False >>> bool f t p == if p then t else f True
С момента: base-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/9.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Bool.html