Spec-Zone.ru › Haskell 8

Data.Bool

Copyright (c) The University of Glasgow 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer libraries@haskell.org
Stability experimental
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Содержание

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

Описание

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

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

data Bool Источник

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

False
True
Примеры использования
Подробности экземпляров
Bounded Bool

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Enum

Методы

minBound :: Bool Источник

maxBound :: Bool Источник

Enum Bool

С момента: base-2.1

Подробности экземпляра

Определено в GHC.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] Источник

Eq Bool
Подробности экземпляра

Определено в GHC.Classes

Методы

(==) :: Bool -> Bool -> Bool Источник

(/=) :: Bool -> Bool -> Bool Источник

Data Bool

С момента: base-4.0.0.0

Подробности экземпляра

Определено в 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) Источник

Ord Bool
Подробности экземпляра

Определено в GHC.Classes

Методы

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

(<) :: Bool -> Bool -> Bool Исходный код

(<=) :: Bool -> Bool -> Bool Исходный код

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

(>=) :: Bool -> Bool -> Bool Исходный код

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

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

Read Bool

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Read

Методы

readsPrec :: Int -> ReadS Bool Исходный код

readList :: ReadS [Bool] Исходный код

readPrec :: ReadPrec Bool Исходный код

readListPrec :: ReadPrec [Bool] Исходный код

Show Bool

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Show

Методы

showsPrec :: Int -> Bool -> ShowS Исходный код

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

showList :: [Bool] -> ShowS Исходный код

Ix Bool

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Ix

Методы

range :: (Bool, Bool) -> [Bool] Исходный код

index :: (Bool, Bool) -> Bool -> Int Исходный код

unsafeIndex :: (Bool, Bool) -> Bool -> Int Исходный код

inRange :: (Bool, Bool) -> Bool -> Bool Исходный код

rangeSize :: (Bool, Bool) -> Int Исходный код

unsafeRangeSize :: (Bool, Bool) -> Int Исходный код

Generic Bool

С момента: base-4.6.0.0

Подробности экземпляра

Определено в GHC.Generics

Связанные типы

type Rep Bool :: Type -> Type Исходный код

Методы

from :: Bool -> Rep Bool x Исходный код

to :: Rep Bool x -> Bool Исходный код

FiniteBits Bool

С момента: base-4.7.0.0

Подробности экземпляра

Определено в Data.Bits

Краткое описание методов

finiteBitSize :: Bool -> Int Source

countLeadingZeros :: Bool -> Int Source

countTrailingZeros :: Bool -> Int Source

Bits Bool

Интерпретировать Bool как 1-битное битовое поле

С версии: base-4.7.0.0

Подробности экземпляра

Определено в Data.Bits

Краткое описание методов

(.&.) :: Bool -> Bool -> Bool Source

(.|.) :: Bool -> Bool -> Bool Source

xor :: Bool -> Bool -> Bool Source

complement :: Bool -> Bool Source

shift :: Bool -> Int -> Bool Source

rotate :: Bool -> Int -> Bool Source

zeroBits :: Bool Source

bit :: Int -> Bool Source

setBit :: Bool -> Int -> Bool Source

clearBit :: Bool -> Int -> Bool Source

complementBit :: Bool -> Int -> Bool Source

testBit :: Bool -> Int -> Bool Source

bitSizeMaybe :: Bool -> Maybe Int Source

bitSize :: Bool -> Int Source

isSigned :: Bool -> Bool Source

shiftL :: Bool -> Int -> Bool Source

unsafeShiftL :: Bool -> Int -> Bool Source

shiftR :: Bool -> Int -> Bool Source

unsafeShiftR :: Bool -> Int -> Bool Source

rotateL :: Bool -> Int -> Bool Source

rotateR :: Bool -> Int -> Bool Source

popCount :: Bool -> Int Source

Storable Bool

С версии: base-2.1

Подробности экземпляра

Определено в 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 () Исходный код

peek :: Ptr Bool -> IO Bool Исходный код

poke :: Ptr Bool -> Bool -> IO () Исходный код

type Rep Bool
Подробности экземпляра

Определено в GHC.Generics

type Rep Bool = D1 ('MetaData "Bool" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "True" 'PrefixI 'False) (U1 :: Type -> Type))

Операции

(&&) :: 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

С версии: 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/8.10.2/docs/html/libraries/base-4.14.1.0/Data-Bool.html

Spec-Zone.ru

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