定数関数(constant function)


J言語のテキストを読んでいると一桁の数字のあとにコロンをつけて定数のように使っているのをみかけます。ボキャブラリーのページの下の方にConstant Functions _9: to 9:というのがありましたので、その翻訳です。

定数関数(constant function)

この関数の結果は、 _9、 _8、 _7 ... 9 です。

   x=: 1 2 3 [ y=: 4 5 6
   2: y
2
   x 9: y
9

ランク接続詞"(クオート)を使うと、どんな数字でも定数関数にして指定したランクに作用させることができます。上記のコロンをつかった定数関数は i"_ という形の特別なケースと言えます。

   2"_ y
2             
   2"0 y
2 2 2
   2"1 i. 2 3 4
2 2 2
2 2 2
   2p1"0 y
6.28319 6.28319 6.28319
   1p1 1p_1 1x1"0 y        NB.ベクトルを定数関数としたもの
3.14159 0.3183099 2.71828
3.14159 0.3183099 2.71828
3.14159 0.3183099 2.71828
   0 0 0"1 y              NB.3次空間におけるゼロベクトル
0 0 0
   a=:'abcdefghijklmnopqrstuvwxyz'"_
   A=:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"_ 
   s=: ' '"_
   f=: { a
   f 5 8 6
fig
   g=: { a,:A
   g 1 5;0 8;0 6
Fig