我想知道如果我对这个动词应用两个参数会发生什么:3&*
. 如果左边的1
一切都像只有一个参数一样工作:
1 (3&*) 3
9
1 (3&*) 4
12
1 (3&*) 5
15
如果我改变它,我会发现为什么会这样:
2 (3&*) 5
45
3 (3&*) 5
135
10 (3&*) 5
295245
似乎左参数被解释为重复^:
。所以最后一个等于3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 5
(10 3's),或者:
5 * 3^10
295245
你能解释一下这种奇怪的行为吗?我期待类似domain error
(无处不在)的东西,如果我尝试使用 fndisplay 就会抛出:
require 'j/addons/general/misc/fndisplay.ijs'
defverbs 'f'
defnouns 'x y n'
x (n&*) y
|domain error
| x (n&*)y