我想知道如果我对这个动词应用两个参数会发生什么: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),或者:
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
答案 0 :(得分:4)