Spec-Zone.ru › Haskell 9

Data.Array

Авторские права (c) The University of Glasgow 2001
Лицензия BSD-style (см. файл libraries/base/LICENSE)
Сопровождающий libraries@haskell.org
Стабильность предварительная
Переносимость переносимая
Безопасный Haskell Trustworthy
Язык Haskell2010

Содержание

  • Неизменяемые невзыскательные массивы
  • Создание массивов
  • Доступ к массивам
  • Пошаговое обновление массивов
  • Производные массивы

Описание

Базовые невзыскательные массивы.

Примечание: Модуль Data.Array.IArray предоставляет более общий интерфейс для неизменяемых массивов: он определяет операции с теми же именами, что и описанные ниже, но с более общими типами, а также определяет экземпляры Array соответствующих классов. Чтобы использовать этот более общий интерфейс, импортируйте Data.Array.IArray, но не Data.Array.

Неизменяемые невзыскательные массивы

Haskell предоставляет индексируемые массивы, которые можно рассматривать как функции, области определения которых изоморфны непрерывным подмножествам целых чисел. Функции, ограниченные таким образом, можно эффективно реализовать; в частности, программист может обоснованно рассчитывать на быстрый доступ к элементам. Чтобы обеспечить возможность такой реализации, массивы рассматриваются как данные, а не как общие функции.

Поскольку большинство функций для работы с массивами используют класс Ix, этот модуль экспортируется из Data.Array, чтобы модулям не приходилось импортировать одновременно Data.Array и Data.Ix.

module Data.Ix

data Array i e

Экземпляры
Сведения об экземплярах
IArray Array e Источник
Сведения об экземпляре

Определён в Data.Array.Base

Методы

bounds :: Ix i => Array i e -> (i, i) Источник

numElements :: Ix i => Array i e -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, e)] -> Array i e Источник

unsafeAt :: Ix i => Array i e -> Int -> e Источник

unsafeReplace :: Ix i => Array i e -> [(Int, e)] -> Array i e Источник

unsafeAccum :: Ix i => (e -> e' -> e) -> Array i e -> [(Int, e')] -> Array i e Источник

unsafeAccumArray :: Ix i => (e -> e' -> e) -> e -> (i, i) -> [(Int, e')] -> Array i e Источник

Functor (Array i)
Сведения об экземпляре

Определён в GHC.Internal.Arr

Методы

fmap :: (a -> b) -> Array i a -> Array i b

(<$) :: a -> Array i b -> Array i a

Foldable (Array i)
Сведения об экземпляре

Определён в GHC.Internal.Data.Foldable

Методы

fold :: Monoid m => Array i m -> m

foldMap :: Monoid m => (a -> m) -> Array i a -> m

foldMap' :: Monoid m => (a -> m) -> Array i a -> m

foldr :: (a -> b -> b) -> b -> Array i a -> b

foldr' :: (a -> b -> b) -> b -> Array i a -> b

foldl :: (b -> a -> b) -> b -> Array i a -> b

foldl' :: (b -> a -> b) -> b -> Array i a -> b

foldr1 :: (a -> a -> a) -> Array i a -> a

foldl1 :: (a -> a -> a) -> Array i a -> a

toList :: Array i a -> [a]

null :: Array i a -> Bool

length :: Array i a -> Int

elem :: Eq a => a -> Array i a -> Bool

maximum :: Ord a => Array i a -> a

minimum :: Ord a => Array i a -> a

sum :: Num a => Array i a -> a

product :: Num a => Array i a -> a

Ix i => Traversable (Array i)
Сведения об экземпляре

Определён в GHC.Internal.Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> Array i a -> f (Array i b)

sequenceA :: Applicative f => Array i (f a) -> f (Array i a)

mapM :: Monad m => (a -> m b) -> Array i a -> m (Array i b)

sequence :: Monad m => Array i (m a) -> m (Array i a)

(Ix i, Eq e) => Eq (Array i e)
Сведения об экземпляре

Определён в GHC.Internal.Arr

Методы

(==) :: Array i e -> Array i e -> Bool

(/=) :: Array i e -> Array i e -> Bool

(Ix i, Ord e) => Ord (Array i e)
Сведения об экземпляре

Определён в GHC.Internal.Arr

Методы

compare :: Array i e -> Array i e -> Ordering

(<) :: Array i e -> Array i e -> Bool

(<=) :: Array i e -> Array i e -> Bool

(>) :: Array i e -> Array i e -> Bool

(>=) :: Array i e -> Array i e -> Bool

max :: Array i e -> Array i e -> Array i e

min :: Array i e -> Array i e -> Array i e

(Ix a, Read a, Read b) => Read (Array a b)
Сведения об экземпляре

Определён в GHC.Internal.Read

Методы

readsPrec :: Int -> ReadS (Array a b)

readList :: ReadS [Array a b]

readPrec :: ReadPrec (Array a b)

readListPrec :: ReadPrec [Array a b]

(Ix a, Show a, Show b) => Show (Array a b)
Сведения об экземпляре

Определён в GHC.Internal.Arr

Методы

showsPrec :: Int -> Array a b -> ShowS

show :: Array a b -> String

showList :: [Array a b] -> ShowS

Создание массивов

array :: Ix i => (i, i) -> [(i, e)] -> Array i e

listArray :: Ix i => (i, i) -> [e] -> Array i e

accumArray :: Ix i => (e -> a -> e) -> e -> (i, i) -> [(i, a)] -> Array i e

Доступ к массивам

(!) :: Ix i => Array i e -> i -> e

bounds :: Array i e -> (i, i)

indices :: Ix i => Array i e -> [i]

elems :: Array i e -> [e]

assocs :: Ix i => Array i e -> [(i, e)]

Пошаговое обновление массивов

(//) :: Ix i => Array i e -> [(i, e)] -> Array i e

accum :: Ix i => (e -> a -> e) -> Array i e -> [(i, a)] -> Array i e

Производные массивы

ixmap :: (Ix i, Ix j) => (i, i) -> (i -> j) -> Array j e -> Array i e

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/array-0.5.8.0-93e8/Data-Array.html

Spec-Zone.ru

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