APL/J言語:非明示的(タシット)定義

動詞は明示的にも非明示的にも定義できます。一行で書けるような明示的定義は単項動詞であれ二項動詞であれ、副詞13 :(じゅうさんコロン)を用いて定義できます。下記の例を実行する前に9!:3 ] 2 5を実行し、動詞の表示をボックスとリニアの両方で見れるようにして下さい。

   s=: 0 : 0
(+/y) % (#y)
)

   mean=: 3 : s
   MEAN=: 13 : s

   mean
 +-+-+------------+
 |3|:|(+/y) % (#y)|
 +-+-+------------+
 3 : '(+/y) % (#y)'
   MEAN
 +-----+-+-+
 |+-+-+|%|#|
 ||+|/|| | |
 |+-+-+| | |
 +-----+-+-+
 +/ % #

コンピュータープログラマーにとって明示的定義の方が非明示的定義よりなじみがあるものと思います。13 :(じゅうさんコロン)は明示的定義を非明示的定義に翻訳してくれるので、非明示的定義の学習に役立ちます。


演習:
19.1 非明示的に定義されたMEANの13 :(じゅうさんコロン)によって定義されたものの表現を学ぶことにより、Mという非明示的関数の定義を行え。

答え: M=: +/ % #