| 用法 | 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の番号
|
| 用法 | 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| +---+-+ |