用法 | APL | 結果と例(単項) | 用法 | 結果と例(両項) |
* Signum 符号 * Y | \[\times \] |
実数に対しては、正には1、0には0、負には_1を付与。
* _5 0 4 _1 0 1複素数では大きさと偏角を与える * 3j4 0.6j0.8 *. 3j4 5 0.927295 *. 0.6j0.8 1 0.927295複素数に対しては、大きさが1で、同じ偏角の複素数 |
Times
乗算 X * Y | |
(Halve)
|
-:
Match 一致 X -: Y |
左引数と右引数とがマッチ
していれば1、そうでなけ
れば0
1 2 3 -: 1 2 3 1 y;(y=y);y -: y=. i.3 3 +-----+-----+-+ |0 1 2|1 1 1|1| |3 4 5|1 1 1| | |6 7 8|1 1 1| | +-----+-----+-+ 'japan' -: 'japan' 1 'japan as '-:'japan is' 0 文字列は文ベースで一致 | ||
~. (副詞) Nub 重複排除 |
Yの重複要素を排除
~. 1 1 2 2 3 3 1 2 3 ~. 'japan' japn | 無し | ||
~: Nubsieve 重複指示 ~: |
重複している合は重複の最初の箇所を1で示す。
(2度目は0)重複していない場合も1であり、オリジナル か重複かを表示 ~:1 1 2 2 3 3 1 0 1 0 1 0 ~: 'japan' 1 1 1 0 1 ~: s:'山田';'田中';'山本';'田中';'山田' 1 1 1 0 0 |
Not-equal
不等 X ~: Y |
XとYが等しければ0、
そうでなければ1 20 30 40 ~: 40 30 20 1 0 1 'japan' ~: 'jappn' 0 0 0 1 0 文字ベース | |
=
Self Classify 自己分類 = Y | . |
重複を分類して判別し、1で
重複、0で非重複を表示する
= 'aabbccaadd' a |1 1 0 0 0 0 1 1 0 0 b |0 0 1 1 0 0 0 0 0 0 c |0 0 0 0 1 1 0 0 0 0 d |0 0 0 0 0 0 0 0 1 1 a=.3 3$'abcdefghi' (=a); a +-----+---+ |1 0 0|abc| |0 1 0|def| |0 0 1|ghi| +-----+---+マトリクスは行ベースで照合 = i.3 1 0 0 0 1 0 0 0 13 3 $ の単位行列を生成 |
Equal
等しい X = Y |
XとYが等しければ1、
そうでなければ0 20 30 40 = 40 30 20 0 1 0 (i.3 3 )=i.3 3 1 1 1 1 1 1 1 1 1 マトリクスはスカラベースで照合 a=: 3 3 $ 'abcdefghi' a=a 1 1 1 1 1 1 1 1 1 文字ベース |
E.
無し |
Memder-of
Interval
パターンの 所属 X E.Y |
右引数の中に左引数(パターン)
の先頭の位置に1を返す。そう
でなければ0を返す。
2 3 E. 1 2 3 5 2 3 5 0 1 0 0 1 0 0 patarn 2 3の始まる位置 2 3 4 E. 1 2 3 5 2 3 5 0 0 0 0 0 0 0 patarn 2 3 4はない 'co' E. 'cocoa' 1 0 1 0 0ワードベースであり、mがキーワード | ||
e.
Raze (in) 部分所属 e. Y |
Yの各要素を照合して
ブール数で表示する。
(e.i.5); e. 'japan' +---------+---------+ 0|1 0 0 0 0|1 0 0 0 0|j 1|0 1 0 0 0|0 1 0 1 0|a 2|0 0 1 0 0|0 0 1 0 0|p 3|0 0 0 1 0|0 1 0 1 0|a 4|0 0 0 0 1|0 0 0 0 1|n +---------+---------+ 0 1 2 3 4 j a p a n |
Member(in)
要素の所属 X e. Y |
左引数の要素が右引数の中
に含まれていれば1、 そう でなければ0を返す 8 7 6 7 9 e. 7 8 9 7 1 1 0 1 1 'japan korea' e. 'japan' 1 1 1 1 1 0 0 0 0 0 1 文字ベースで照合 | |
i.
(Integ ers) | \[\iota \] |
(i. >./)9 8 7 6 7 9 0 最大値の最初の位置 |
Index of
First
インデクス X i.Y |
左引数の要素の右引数にお
ける最初の位置を返す。
7 8 9 7 i. 8 7 6 7 9 1 0 4 0 2 'abcd' i. 'a bird' 0 4 1 4 4 3 a b i r d |
i: |
(i:>./) 9 8 7 6 7 9 5 最大値の最後の位置 |
Index of
Last
インデクス X i: Y |
左引数の要素の右引数にお
ける最後の位置を返す。
7 8 9 7 i: 8 7 6 7 9 1 3 4 3 2 'japan' i. 'japan' 0 1 2 1 4 aは1番目 'japan' i: 'japan' 0 3 2 3 4 aの後ろの位置 3 | |
I.
Indices 指標 I. Y |
指標1の箇所の(i.# A)の数字(アドレス)を示す A=: 0 0 1 0 1 0 1 1 I. A 2 4 6 7 A,: i.8 0 0 1 0 1 0 1 1 0 1 2 3 4 5 6 7 |
Interval-
Index
X I. Y |
左引数で示した昇順または降順に
右引数を配置する順を示す
2 5 6 I. 10 3 5 7 8 9 3 1 1 3 3 3 (応用) (/:~ Y),:~ Y=. ?. 7$20 6 15 19 12 14 19 0 0 6 12 14 15 19 19 NB.sort 19 ([: I. =) ?.7$20 2 5 19の位置 12より大きい数の位置を示す 12 I.@:< ?. 10$20 1 2 4 5 7 9 | |
<
(Box) < Y |
2 3 4 0 |
Less-than
X < Y |
左引数が右引数より小さけ1、そうでなければ0
20 30 40 < 40 30 20 1 0 0 | |
>
(Open) > Y | > |
>\2 3 4 2 0 0 2 3 0 2 3 4 |
Larger-
than
大きい X > Y |
左引数が右引数より大きけ
れば1、 そうでなければ0 20 30 40 > 40 30 20 0 0 1 |
<:
Decrement | \[ \le \] |
\[ \leq \] (<:) Y-1
Not(-.) 1-Y |
<:
Lesser or equal 小さいか 等しい X <: Y |
左引数が右引数より小さい
か等しければ1
そうでな ければ0 20 30 40 <: 40 30 20 1 1 0 |
Increment
>: | \[\geq \] | Increment \[Y+1 \] |
>:
Larger or equal 大きいか 等しい X >: Y |
左引数が右引数より大きい
か等しければ1 そうでな ければ0 20 30 40 >: 40 30 20 0 1 1 |
用法 | APL | 結果と例(単項) | 用法 | 結果と例(両項) |
*.
Length /Angle |
論理積
And 最小公倍数 LCM X *. Y |
左右の引数が共に1のとき
に1 そうでなければ0 0 0 1 1 *. 0 1 0 1 0 0 0 1XとYの最小公倍数 24 *. 60 120ブール代数で文字列は演算できない | ||
+.
Real /Imagin ary |
Or
論理和 GCD 最大公約数 X +. Y |
左右の引数が共に0のとき
に0、そうでなければ1
0 0 1 1 +. 0 1 0 1 0 1 1 1XとYの最大公約数 24 +. 60 12 | ||
*:
Square |
Not-And
否定論理積 X *: Y |
左右の引数が共に1のとき
に0、そうでなければ1
0 0 1 1 *: 0 1 0 1 1 1 1 0 | ||
+:
Double |
Not-Or
否定論理和 X +: Y |
左右の引数が共に0のとき
に1、そうでなければ0
0 0 1 1 +: 0 1 0 1 1 0 0 0 | ||
= |
=
XNOR |
左右の引数が同じとき
に1、異なければ0
XNOR(eXclusive NOR)
0 0 1 1 = 0 1 0 1 1 0 0 1 'JAPLA'='JPALA' 1 0 0 1 1 | ||
-.
Not 否定 /補数 -. Y |
右引数が0なら1、1なら0
-. 1 0 0 1 -. 0.6 0.7 0.4 0.3補数 |
Less
X -.Y |
左の引数から右引数の要素
を除いたものを出力する
(i.5) -. 1 3 0 2 4 (i.5)(-.@e.#[)1 3 0 2 4 'JAPLA' -.'JP' ALA (Remove Items) |
用法 | APL | 結果と例(単項) | 用法 | 結果と例(両項) |
#.
Base-2 2進数 #. Y |
2進数で与えた右引数を
10進数に変換する
#. 1 1 1 1 15 2 #. 1 1 1 1 15 |
Base
10進化 |
左引数を底(10進)とする加重合計値
10 #. 1 2 3 123 60 #. 1 30 20 5420 (1時間30分20秒の秒数) (2;4;8;16) #./(L:0) 4 5 6 +--+--+---+----+ |32|90|302|1110|10進の値 +--+--+---+----+ 2 4 8 16 進数32 \[(4 \times 2^{2})+(5 \times 2)+6=32 \] \[(4 \times 8^{2})+(5 \times 8)+6=302 \] | |
#:
Antibase 2 10進数の 2進化 #: Y |
10進数で与えた右引数を
2進数に変換する
#: i.8 0 0 0 ‥‥‥ 0 0 0 1 ‥‥‥ 1 0 1 0 ‥‥‥ 2 0 1 1 ‥‥‥ 3 1 0 0 ‥‥‥ 4 1 0 1 ‥‥‥ 5 1 1 0 ‥‥‥ 6 1 1 1 ‥‥‥ 7 |
Antibase
n進化 X \#: Y |
10進数で与えた右引数を
左引数の底による進数で表示
24 60 60 #: 5420 1 30 20 (秒の時間/分/秒へ変換) 4 4 #: i.6 0 0 0 1 0 2 0 3 1 0 1 1 (4進数表示) | |
b.
(副詞) Basic Characteristic u b.n |
|
Boolean
ブール数 ビットワイズ演算 X b. Y |
ブール数での演算。 (0 1 *./ 0 1);0 1 +:/ 0 1 +---+---+ |0 0|1 0| |0 1|0 0| +---+---+ <("2) |: 0 1 (1 8 b./) 0 1 +---+---+ |0 0|1 0| |0 1|0 0| +---+---+引数は(0-15),(_16-_1),(16-34)が割り付けられており、 プリミティブの代わりに引数とb.でbitwise演算ができる \[ \begin{array}{cc|cc} 1 &*&6&~:\\. 8 &+:&9& =\\ 12&-.&14&*:\\ \end{array} \] 20 b./~ table i.5 NB. bitwise less than(<) +-------+---------+ |20 b./~|0 1 2 3 4| +-------+---------+ |0 |0 1 2 3 4| |1 |0 0 2 2 4| |2 |0 1 0 1 4| |3 |0 0 0 0 4| |4 |0 1 2 3 0| +-------+---------+Vocabraly参照 |