p-array
array モジュールは配列を操作するためのユーティリティ関数を提供します。
use p-array as aisarray[val]
Section titled “isarray[val]”val が配列であれば true を返します。
use p-array as aa.isarray[list[1; 2; 3]] -- truea.isarray[42] -- falsefrom[val]
Section titled “from[val]”イテラブルまたは配列風の値から配列を作成します。
of[...args]
Section titled “of[...args]”与えられた引数から配列を作成します。
range[start; end; step]
Section titled “range[start; end; step]”start から end(排他的)までの数値配列を作成します。step のデフォルトは 1。
use p-array as aa.from[///hello///] -- ["h", "e", "l", "l", "o"]a.of[1; 2; 3] -- [1, 2, 3]a.range[0; 5] -- [0, 1, 2, 3, 4]a.range[0; 10; 2] -- [0, 2, 4, 6, 8]len[arr]
Section titled “len[arr]”要素数を返します。
first[arr]
Section titled “first[arr]”最初の要素を返します。
last[arr]
Section titled “last[arr]”最後の要素を返します。
use p-array as aconst xs be list[10; 20; 30]a.len[xs] -- 3a.first[xs] -- 10a.last[xs] -- 30flatten[arr; depth]
Section titled “flatten[arr; depth]”ネストされた配列を指定された depth までフラット化します(デフォルト: 全階層)。
unique[arr]
Section titled “unique[arr]”重複値を除去した新しい配列を返します。
compact[arr]
Section titled “compact[arr]”すべてのfalsyな値を除去した新しい配列を返します。
sortasc[arr]
Section titled “sortasc[arr]”数値昇順でソートした新しい配列を返します。
sortdesc[arr]
Section titled “sortdesc[arr]”数値降順でソートした新しい配列を返します。
use p-array as aa.flatten[[[1; 2]; [3; [4; 5]]]] -- [1, 2, 3, 4, 5]a.unique[list[1; 2; 2; 3; 1]] -- [1, 2, 3]a.compact[list[0; 1; null; 2; //////; 3]] -- [1, 2, 3]a.sortasc[list[3; 1; 2]] -- [1, 2, 3]a.sortdesc[list[3; 1; 2]] -- [3, 2, 1]chunk[arr; size]
Section titled “chunk[arr; size]”配列を指定されたサイズのチャンクに分割します。
zip[...arrs]
Section titled “zip[...arrs]”複数の配列をタプルの配列にジップします。
unzip[arr]
Section titled “unzip[arr]”タプルの配列を個別の配列にアンジップします。
groupby[arr; fn]
Section titled “groupby[arr; fn]”各要素に対して fn を呼び出した結果でグループ化します。
use p-array as aa.chunk[list[1; 2; 3; 4; 5]; 2] -- [[1, 2], [3, 4], [5]]a.zip[list[1; 2]; list[///a///; ///b///]] -- [[1, "a"], [2, "b"]]
a.groupby[list[1; 2; 3; 4; 5]; fn x to if x mod 2 eq 0 then ///even/// else ///odd///]-- { odd: [1, 3, 5], even: [2, 4] }sum[arr]
Section titled “sum[arr]”全要素の合計を返します。
product[arr]
Section titled “product[arr]”全要素の積を返します。
min[arr]
Section titled “min[arr]”最小の要素を返します。
max[arr]
Section titled “max[arr]”最大の要素を返します。
count[arr; fn]
Section titled “count[arr; fn]”fn が true を返す要素の数を返します。
use p-array as aconst xs be list[1; 2; 3; 4; 5]a.sum[xs] -- 15a.product[xs] -- 120a.min[xs] -- 1a.max[xs] -- 5a.count[xs; fn x to x gt 2] -- 3