为什么2(*i.)5
求值为0 2 4 6 8
?
很明显,2*i.5
是这样做的,但()
创建了一个钩子,从右到左评估,似乎我们得到了
(*i.)5 == 0 5 10 15 20
2不会在名单上行动——那么我哪里错了?
2 (* i.) 5
,是一个二元钩子,翻译为2 * (i. 5)
。
(* i.) 5
,是一个单元钩子,翻译为5 * (i. 5)
。
并矢钩x (u v) y
相当于x u (v y)
,与x u v y
相同。
一元钩子(u v) y
相当于y u (v y)
,与y u v y
相同。
http://www.jsoftware.com/jwiki/Vocabulary/hook
x (u v) y
<-->二元钩x u (v y)
。
一种用途可能是将y重塑为形状x,如所示http://www.jsoftware.com/jwiki/Vocabulary/hook
[t=.i. 3 2
0 1
2 3
4 5
2 3 ($ ,) t
0 1 2
3 4 5