19. 隱性對等

動詞可以顯性地也可以隱性地定義。以單句顯性定義為例,無論是單邊或雙邊,其相對應的隱性定義,如下所示,可由副詞 13 : 獲得。首先輸入 9!:3 ] 2 5 得到動詞的封裝形式與線型形式:

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

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

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

一般而言,電腦程式員對顯性定義形式較隱性形式更為熟悉。 副詞 13 : 提供的轉換功能,對學習隱性 編程相當有幫助。類似地,連接詞的顯性定義也可以副詞 12 : 來轉換。例如:

   t=: 0 : 0
y.^:_1 @ x.&y.
)

   under=: 2 : t
   times=: + under ^.
   3 times 4
12

   3 + (u=: 12 : t) ^. 4
12

   u
+-----------------+-+--+
|+----------+-+--+|&|].|
||+--+--+--+|@|[.|| |  |
|||].|^:|_1|| |  || |  |
||+--+--+--+| |  || |  |
|+----------+-+--+| |  |
+-----------------+-+--+
((]. ^: _1) @ [.) & ].

練習

19.1   Use display of tacit 定義of MEAN to define an equivalent 函數 called M .

解答: M=: +/ % #


下個前個字彙索引主選單