首先,应该先明白这几个概念:
# 表示提供给纯函数的第一个参数.
#n 表示第 n 个参数.
##n 纯函数中从 n 个变量开始的变量列.
## 纯函数中的所有变量列.
#0 表示整个纯函数.
If[#1 == 0, g[##2], h[#0[#1 - 1, ##2], #1 - 1, ##2]] &整个代表纯函数,其他的就不解释了,就解释#0[#1 - 1, ##2],,他就相当于If[#1 == 0, g[##2], h[#0[#1 - 1, ##2], #1 - 1, ##2]] &[#1 - 1, ##2],
再看下面一个例子(帮助文挡上的):
用 #0 对阶乘用递归定义:
f = If[#1 == 1, 1, #1 #0[#1 - 1]] &
结果是:f[10]=10*9*8......*2*1==10!==3628800
你再代入r[x, y][0],结果是:x[],带入r[x, y][0]结果是:y[x[], 0],(感觉你应该能明白了吧。。。。哈哈,反正我是提高不少!!)