本文へ移動
mie リファレンス
REPL Playground

std:set リファレンス

@import 'std:set' で取得する順序付き集合モジュール。挿入順を保持する重複なしコレクション OrderedSet を提供する。

empty

empty
empty: OrderedSet

空の OrderedSet (順序付き集合)。

>>> set.empty
OrderedSet{}

of

of(xs)
of: { List | OrderedSet }

List から OrderedSet を構築する (重複除去)。

>>> set.of([3, 1, 2, 1])
OrderedSet{1, 2, 3}

OrderedSet メソッド

compare

s.compare(other)
compare: { OrderedSet | Ordering }

要素列の辞書式順序。

>>> set.of([1, 2]).compare(set.of([1, 3]))
Less

contains

s.contains(x)
contains: { Any | Bool }

has の別名 (List と語を合わせる)。

>>> set.of([1, 2, 3]).contains(5)
false

difference

s.difference(b)
difference: { OrderedSet | OrderedSet }

差集合 a − b。

>>> set.of([1, 2, 3]).difference(set.of([2]))
OrderedSet{1, 3}

each

s.each { x | … }
each: { Any | Unit }

compare 昇順に各要素へ適用する。

>>> set.of([1, 2, 3]).each { x | println(x) }
1
2
3

filter

s.filter { x | Bool }
filter: { Any | OrderedSet }

述語が true の要素だけの新 OrderedSet。

>>> set.of([1, 2, 3]).filter { x | x > 1 }
OrderedSet{2, 3}

first

s.first!
first: { Option(Any) }

最小要素を Some(x)、空なら None。

>>> set.of([1, 2, 3]).first!
Some(1)

fold

s.fold(init) { acc, x | … }
fold: { Any, Any | Any }

compare 昇順の左畳み込み。

>>> set.of([1, 2, 3]).fold(0) { acc, x | acc + x }
6

has

s.has(x)
has: { Any | Bool }

要素 x が存在すれば true。

>>> set.of([1, 2, 3]).has(2)
true

insert

s.insert(x)
insert: { Any | OrderedSet }

x を加えた新 OrderedSet。

>>> set.of([1, 2, 3]).insert(4)
OrderedSet{1, 2, 3, 4}

intersect

s.intersect(b)
intersect: { OrderedSet | OrderedSet }

積集合。

>>> set.of([1, 2, 3]).intersect(set.of([2, 3, 4]))
OrderedSet{2, 3}

is_empty

s.is_empty!
is_empty: { Bool }

空なら true。

>>> set.of([]).is_empty!
true

is_subset

s.is_subset(b)
is_subset: { OrderedSet | Bool }

a ⊆ b なら true。

>>> set.of([1, 2]).is_subset(set.of([1, 2, 3]))
true

last

s.last!
last: { Option(Any) }

最大要素を Some(x)、空なら None。

>>> set.of([1, 2, 3]).last!
Some(3)

length

s.length!
length: { Int }

要素数。

>>> set.of([1, 2, 3]).length!
3

map

s.map { x | x' }
map: { Any | OrderedSet }

各要素を変換した新 OrderedSet (重複除去)。

>>> set.of([1, 2, 3]).map { x | x * 10 }
OrderedSet{10, 20, 30}

remove

s.remove(x)
remove: { Any | OrderedSet }

x を除いた新 OrderedSet。

>>> set.of([1, 2, 3]).remove(2)
OrderedSet{1, 3}

to_list

s.to_list!
to_list: { List(Any) }

要素を compare 昇順の List で返す。

>>> set.of([3, 1, 2]).to_list!
[1, 2, 3]

union

s.union(b)
union: { OrderedSet | OrderedSet }

和集合 (新 OrderedSet)。

>>> set.of([1, 2]).union(set.of([2, 3]))
OrderedSet{1, 2, 3}