DA.NonEmpty
Daml 模块 DA.NonEmpty 参考文档。
DA.NonEmpty
非空列表的类型与函数。本模块再导出许多与 Prelude 列表同名的函数,建议 qualified import。
例如下列 import 可得 NonEmpty 类型,非空列表函数以限定名使用,如 NE.append、NE.map、NE.foldl:
import DA.NonEmpty (NonEmpty)
import qualified DA.NonEmpty as NE
模块概览
函数
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)整理翻译,仅供学习;实现细节以官方最新版本为准。