std:map リファレンス
import map := 'std:map' で取得する順序付きマップモジュール。キー昇順の SortedMap と挿入順の InsertionMap を提供する。
insertion
insertion
insertion: { empty: InsertionMap, of: { List | InsertionMap } |}
InsertionMap (挿入順マップ) のコンストラクタをまとめた名前空間。
>>> map.insertion.empty InsertionMap{}
sorted
sorted
sorted: { empty: SortedMap, of: { List | SortedMap } |}
SortedMap (キー昇順マップ) のコンストラクタをまとめた名前空間。
InsertionMap メソッド
each
m.each { k, v | … }
each: { Any | Unit }
挿入順に各エントリへ適用する。
entries
m.entries! entries: { List(Any) }
(key, value) の挿入順 List。
filter
m.filter { k, v | Bool } filter: { Any | InsertionMap }
述語が true のエントリだけの新 InsertionMap (順序保存)。
first
m.first! first: { Option(Any) }
先頭 (最初に挿入された) エントリを Some((k, v))、空なら None。
fold
m.fold(init) { acc, k, v | … }
fold: { Any, Any | Any }
挿入順の左畳み込み。
get
m.get(k) get: { Any | Option(Any) }
キー k の値を Some(v)、無ければ None。
has
m.has(k) has: { Any | Bool }
キー k が存在すれば true。
insert
m.insert(k, v) insert: { Any, Any | InsertionMap }
k→v を加えた新 InsertionMap (既存キーは位置維持で更新・新規は末尾)。
is_empty
m.is_empty! is_empty: { Bool }
空なら true。
keys
m.keys! keys: { List(Any) }
キーを挿入順の List で返す。
last
m.last! last: { Option(Any) }
末尾 (最後に挿入された) エントリを Some((k, v))、空なら None。
length
m.length! length: { Int }
エントリ数。
map
m.map { k, v | v' }
map: { Any | InsertionMap }
値を変換した新 InsertionMap (キー・順序不変)。
merge
m.merge(other) merge: { InsertionMap | InsertionMap }
マージした新 InsertionMap (同キーは右勝ち・位置維持、新規キーは末尾)。
remove
m.remove(k) remove: { Any | InsertionMap }
k を除いた新 InsertionMap (順序保存)。
to_list
m.to_list! to_list: { List(Any) }
entries と同じ。
values
m.values! values: { List(Any) }
値を挿入順の List で返す。
SortedMap メソッド
compare
m.compare(other) compare: { SortedMap | Ordering }
エントリ列の辞書式順序。
each
m.each { k, v | … }
each: { Any | Unit }
キー昇順に各エントリへ適用する。
entries
m.entries! entries: { List(Any) }
(key, value) の昇順 List。
filter
m.filter { k, v | Bool } filter: { Any | SortedMap }
述語が true のエントリだけの新 SortedMap。
first
m.first! first: { Option(Any) }
最小キーのエントリを Some((k, v))、空なら None。
fold
m.fold(init) { acc, k, v | … }
fold: { Any, Any | Any }
キー昇順の左畳み込み。
get
m.get(k) get: { Any | Option(Any) }
キー k の値を Some(v)、無ければ None。
has
m.has(k) has: { Any | Bool }
キー k が存在すれば true。
insert
m.insert(k, v) insert: { Any, Any | SortedMap }
k→v を加えた新 SortedMap (既存は上書き)。
is_empty
m.is_empty! is_empty: { Bool }
空なら true。
keys
m.keys! keys: { List(Any) }
キーを compare 昇順の List で返す。
last
m.last! last: { Option(Any) }
最大キーのエントリを Some((k, v))、空なら None。
length
m.length! length: { Int }
エントリ数。
map
m.map { k, v | v' }
map: { Any | SortedMap }
値を変換した新 SortedMap (キーは不変)。
merge
m.merge(other) merge: { SortedMap | SortedMap }
マージした新 SortedMap (同キーは右勝ち)。
remove
m.remove(k) remove: { Any | SortedMap }
k を除いた新 SortedMap。
to_list
m.to_list! to_list: { List(Any) }
entries と同じ。
values
m.values! values: { List(Any) }
値をキー昇順に対応した List で返す。
insertion メソッド
empty
insertion.empty empty: InsertionMap
空の InsertionMap (挿入順マップ)。
>>> map.insertion.empty InsertionMap{}
of
insertion.of(pairs) of: { Any | InsertionMap }
(key, value) の 2-Tuple の List から InsertionMap を構築する (キー重複は後勝ち・位置維持)。
>>> map.insertion.of([("b", 2), ("a", 1)]) InsertionMap{"b": 2, "a": 1}
sorted メソッド
empty
sorted.empty empty: SortedMap
空の SortedMap (キー昇順マップ)。
>>> map.sorted.empty SortedMap{}
of
sorted.of(pairs) of: { Any | SortedMap }
(key, value) の 2-Tuple の List から SortedMap を構築する (キー重複は後勝ち)。
>>> map.sorted.of([("a", 1), ("b", 2)]) SortedMap{"a": 1, "b": 2}