std:array リファレンス
@import 'std:array' で取得する可変 scratch 配列モジュール。in-place に書き換えられる Array を提供し、frozen で immutable な List に確定する。
array
array(n, init)
array: { Int, Any | Array }
長さ n・全要素 init の可変 scratch 配列 Array を作る。
>>> array.array(3, 0) Array[0, 0, 0]
build
build(n, init) { h | … }
build: { Int, Any, { Array } | List }
Array を作りブロックを実行、終了時に frozen した immutable List を返す。
from
from(list)
from: { List | Array }
既存 List の内容をコピーした Array を作る。
>>> array.from([1, 2, 3]) Array[1, 2, 3]
Array メソッド
frozen
a.frozen! frozen: { List(Any) }
内部 buffer を immutable List に確定し封印する。
get
a.get(i) get: { Int | Any }
位置 i の要素 (範囲外は object.Error)。
length
a.length! length: { Int }
要素数。
set
a.set(i, v) set: { Int, Any | Array }
位置 i を v に上書きし self を返す (連鎖可)。
swap
a.swap(i, j) swap: { Int, Int | Array }
位置 i と j の要素を交換し self を返す。
update
a.update(i) { x | x' }
update: { Int, Any | Array }
位置 i を read-modify-write し self を返す。