我不能环绕以下功能组成我的头:嵌套函数组合
function plus_one(x) {
return x + 1;
}
function trans(f) {
return function(x) {
return 2 * f(2 * x);
};
}
function twice(f) {
return function(x) {
return f(f(x));
}
}
当我试图评估((twice)(trans))(plus_one)(1)
这是我得到的,假设plus_one
为f f(2f(2x))=2f(2*2f(2x))=2f(4f(2x)) = 2*(4*(2 + 1)) = 24.
但打字成意思是说它是20.
任何帮助,非常感谢。
非常感谢先进。
为什么'λ-calculus'标签? – naomik