完整文档页面(中文翻译)。文末附有来源说明。

阅读英文版

appdevreferencedaml-standard-libraryda-nonempty

DA.NonEmpty

Daml 模块 DA.NonEmpty 参考文档。

DA.NonEmpty

非空列表的类型与函数。本模块再导出许多与 Prelude 列表同名的函数,建议 qualified import

例如下列 import 可得 NonEmpty 类型,非空列表函数以限定名使用,如 NE.appendNE.mapNE.foldl


import DA.NonEmpty (NonEmpty)

import qualified DA.NonEmpty as NE

模块概览

稳定(Stable)。 状态:`active` 引入版本:`3.4.9` 移除版本:`-` 警告:`0` 弃用:`0` 弃用自:`-`

函数

cons

cons : a -> NonEmpty a -> NonEmpty a

在非空列表前追加一个元素。

append

append : NonEmpty a -> NonEmpty a -> NonEmpty a

拼接两个非空列表。

map

map : (a -> b) -> NonEmpty a -> NonEmpty b

对非空列表每个元素应用函数。

nonEmpty

nonEmpty : [a] -> Optional (NonEmpty a)

将列表转为非空列表(若可能)。空列表返回 None,否则返回 Some

singleton

singleton : a -> NonEmpty a

仅含一个元素的非空列表。

toList

toList : NonEmpty a -> [a]

将非空列表转为普通列表(忘记「非空」约束)。

reverse

reverse : NonEmpty a -> NonEmpty a

反转非空列表。

find

find : (a -> Bool) -> NonEmpty a -> Optional a

在非空列表中查找元素。

deleteBy

deleteBy : (a -> a -> Bool) -> a -> NonEmpty a -> [a]

deleteBy 行为类似 delete,但使用用户提供的相等谓词。

delete

delete : Eq a => a -> NonEmpty a -> [a]

从非空列表中移除 x 的首次出现,可能移除全部元素。

foldl1

foldl1 : (a -> a -> a) -> NonEmpty a -> a

从左向右对非空列表元素两两反复应用函数。例如 foldl1 (+) (NonEmpty 1 [2,3,4]) = ((1 + 2) + 3) + 4

foldr1

foldr1 : (a -> a -> a) -> NonEmpty a -> a

从右向左对非空列表元素两两反复应用函数。例如 foldr1 (+) (NonEmpty 1 [2,3,4]) = 1 + (2 + (3 + 4))

foldr

foldr : (a -> b -> b) -> b -> NonEmpty a -> b

从右向左折叠非空列表,给定初值。例如 foldr (+) 0 (NonEmpty 1 [2,3,4]) = 1 + (2 + (3 + (4 + 0)))

foldrA

foldrA : Action m => (a -> b -> m b) -> b -> NonEmpty a -> m b

foldr 相同,但每次执行 action。

foldr1A

foldr1A : Action m => (a -> a -> m a) -> NonEmpty a -> m a

foldr1 相同,但每次执行 action。

foldl

foldl : (b -> a -> b) -> b -> NonEmpty a -> b

从左向右折叠非空列表,给定初值。例如 foldl (+) 0 (NonEmpty 1 [2,3,4]) = (((0 + 1) + 2) + 3) + 4

foldlA

foldlA : Action m => (b -> a -> m b) -> b -> NonEmpty a -> m b

foldl 相同,但每次执行 action。

foldl1A

foldl1A : Action m => (a -> a -> m a) -> NonEmpty a -> m a

foldl1 相同,但每次执行 action。

孤儿类型类实例

  • instance Eq a => Eq (NonEmpty a)

  • instance Show a => Show (NonEmpty a)

  • instance Ord a => Ord (NonEmpty a)

  • instance GetField hd (NonEmpty a) a

  • instance SetField hd (NonEmpty a) a

  • instance GetField tl (NonEmpty a) [a]

  • instance SetField tl (NonEmpty a) [a]

  • instance Semigroup (NonEmpty a)

  • instance Functor NonEmpty

  • instance Applicative NonEmpty

  • instance Action NonEmpty

  • instance Foldable NonEmpty

  • instance Traversable NonEmpty

  • instance IsParties (NonEmpty Party)


本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。