用法 | APL | 結果と例(単項) | 用法 | 結果と例(両項) |
<
Box
< |
右引数をボックスで囲む。 < i.3 3 +-----+ |0 1 2| |3 4 5| |6 7 8| +-----+ |
Less than
小さい X > Y |
| |
>
Open > |
ボックスを開く。 > < i.3 3 0 1 2 3 4 5 6 7 8 ":&.> |
Larger
than
大きい X > Y |
| |
;
Raze ほぐし ; Y | (APL) |
主軸に沿って右引数をほぐす
; i.2 3 0 1 2 3 4 5 ;/ i.2 3 +-----+-----+ |0 1 2|3 4 5| +-----+-----+ (Y=.<"0 i. 3 3);;("1) Y +-------+-----+ |+-+-+-+|0 1 2| ||0|1|2||3 4 5| |+-+-+-+|6 7 8| ||3|4|5|| | |+-+-+-+| | ||6|7|8|| | |+-+-+-+| | +-------+-----+配列の形を保ったほぐしには ;"1 や;"2が有効 |
Link
結合 X ; Y |
左右の引数をボックスの形 で結合する。 0 2 4 6;1 3 5 7 +-------+-------+ |0 2 4 6|1 3 5 7| +-------+-------+ ( |
L.
Level レベル L. Y |
右引数のボックスのレベルの
の深さを与える。 Yが空又は オープン形のときは0である L. i.5 0 L. 1 2;3 4 1 (<0 2,: 4 6);1 3 5 7 +-----+-------+ |+---+|1 3 5 7| ||0 2|| | ||4 6|| | |+---+| | +-----+-------+ L. (<0 2,: 4 6);1 3 5 7 2 | 無し |
| |
L:
|
|
Level-At
レベル 副詞 u L:n Y |
動詞uをL:nというレベ
ル(深度)のボックス内で演算する
+/(L:0)1 2 3;3 4 5 +-+--+ |6|12| +-+--+ Y=.(<0 2,: 4 6);1 3 5 7 +-----+-------+ |+---+|1 3 5 7| ||0 2|| | ||4 6|| | |+---+| | +-----+-------+ ((+/ L:0);(+/ L:1))Y +----------+-----+--+ |+-----+--+|+---+|16| ||+---+|16|||0 2|| | |||4 8|| |||4 6|| | ||+---+| ||+---+| | |+-----+--+| | | +----------+-----+--+ L:0 L:1 |
用法 | APL | 結果と例(単項) | 用法 | 結果と例(両項) |
{::
Map マップ {:: Y |
ボックスへのパスを表示 ] Y=. 2 3;(2;3);i.2 3 +---+-----+-----+ |2 3|+-+-+|0 1 2| | ||2|3||3 4 5| | |+-+-+| | +---+-----+-----+ {:: Y +---+-------------+---+ |+-+|+-----+-----+|+-+| ||0|||+-+-+|+-+-+|||2|| |+-+|||1|0|||1|1|||+-+| | ||+-+-+|+-+-+|| | | |+-----+-----+| | +---+-------------+---+ |
Fetch
フェッチ {:: Y |
左引数で与えた指標に従い
右引数のサブアレイの要素
X {:: Yを取り出す。
(2; 1 2 ){::Y 5 (1;1 2){:: 5;i.2 3 4 +-+-----------+ |5| 0 1 2 3| | | 4 5 6 7| | | 8 9 10 11| | | | | |12 13 14 15| | |16 17 18 19| | |20 21 22 23| +-+-----------+ (1;1 2){:: 5;i.2 3 4 20 21 22 23 右側(1)の下段(1)の第2行を取り出す | |
/
Prefix 前から v / Y (副詞) |
動詞uを1から#Yまで逐次
累加した組合せに作用させる
<\1 2 3 +-+---+-----+ |1|1 2|1 2 3|NB.RunningSum +-+---+-----+ +/\ 1 2 3 1 3 6 BOXの代わりに動詞を置くことができる。一々開いたり L:0は不要 <\i. 3 3 +-----+-----+-----+ |0 1 2|0 1 2|0 1 2| | |3 4 5|3 4 5| | | |6 7 8| +-----+-----+-----+ |
\[ \backslash \]
Infix 中から \[ X u \backslash Y \] |
左引数を区切りに前から逐
次取り出した組合せに作用
Xが正ならオーバーラップ させ、負のときは重複なし 3<\ 1 2 3 4 5 +-----+-----+-----+ |1 2 3|2 3 4|3 4 5| +-----+-----+-----+ _3<\ i.9 +-----+-----+-----+ |0 1 2|3 4 5|6 7 8| +-----+-----+-----+ 3+/\ 1 2 3 4 5 6 9 12 3 (mav=:+/\%[) i.10 1 2 3 4 5 6 7 8 NB.移動平均 | |
\[ \backslash . \]
Surfix 後から \[ u \backslash . Y \] (副詞) |
動詞uを1から#Yまで前か
ら減少させた組合せに作用
<\. 1 2 3 +-----+---+-+ |1 2 3|2 3|3| +-----+---+-+ Reverse runningSum +/\. 1 2 3 6 5 3 |
Outfix
外から \[ X u \backslash . Y \] |
3<\. 1 2 3 4 5 6 +-----+-----+-----+-----+ |4 5 6|1 5 6|1 2 6|1 2 3| +-----+-----+-----+-----+ 3+/\. 1 2 3 4 5 6 15 12 9 6 | |
/.
Oblique 斜め u /. Y m /. Y (接続詞) | (APL) |
動詞(u)の場合は、テーブル
の形の右引数に対して右上か
ら左下に斜めに作用させる。
ジェランド(m)の場合は、m の各要素を右引数の各アイテ ムに逐次作用させる。 Y;+//.Y=.i.3 4 +---------+---------------+ |0 1 2 3|0 5 15 18 17 11| |4 5 6 7| | |8 9 10 11| | +---------+---------------+\[ \begin{array}{cccc} \diamond&\swarrow&\swarrow&\swarrow\\ \swarrow&\swarrow&\swarrow&\swarrow\\ \swarrow&\swarrow&\swarrow&\diamond\\ \end{array} \] |
Key
キー X u/.Y X m/.Y |
動詞(u)の場合は、Xをキ
ーとして右引数の要素をグ
ループ別に一縛りにし配分する。
ジェランド(m)の場合は、
mの各要素を逐次適用する
1 2 3 1 2 3 1 左はi.7 右はboxの番号X +//. i.7 9 6 6 NB.Box毎に合計 {X +:/. i.7 NB. double +------+------+-----+ |0 6 12|2 10 0|4 8 0| +------+------+-----+ |
用法 | APL | 結果と例(単項) | 用法 | 結果と例(両項) |
;.
Cut 区切り (接続詞) u ;.n Y (nはカットの型) | (APL) |
右引数のフレット(先頭又は末尾のアイテム)で区切る。
];.0 L=. 'hand in hand' dnah ni dnah ( |
Cut
区切り (接続詞) X u;.n Y |
n=0のとき左引数で指定
した個数の要素を取り出す。
n=1,2のときはブール数の1の個所でカットする A;(2 2;2 1)];.0(L:0)A=.i.3 2 +---+---+-+ |0 1|0 1|0| |2 3|2 3|2| |4 5| | | +---+---+-+ 2行2列と2行1列に区切る (~: a)<;.1 a=.3 3 4 4 4 5 5 +---+-----+---+ |3 3|4 4 4|5 5| +---+-----+---+ ~:で1 0の指標作成 <;.1は先頭から1が現れるごとに区切って出力。 (~:a)<;._1 a=.3 3 4 4 4 5 5 +-+---+-+ |3|4 4|5| +-+---+-+ <;.1の先頭を削除する (|.~:a)<;.2 a=.3 3 4 4 4 5 5 +---+-----+---+ |3 3|4 4 4|5 5| +---+-----+---+ <;.2は末尾から1が現れるごとに区切って出力。 n=3 は左引数の形でカット 1 2<;.3 i.3 2 +---+-+ |0 1|1| +---+-+ |2 3|3| +---+-+ |4 5|5| +---+-+ |