tôi cố gắng để dịch mã Đề án này để javascript:Tại sao mã này nhận được không xác định nhưng không phải là 2?
(define (double f)
(lambda (x) (f (f x))))
(define (inc x) (+ x 1))
((double inc) 0)
((double inc) 0)
nghĩa (inc (inc 0))
, vì vậy nó sẽ trả về 2.
Đây là mã Javascript của tôi:
var double = function(f){
return function(x) { f(f(x)); }
}
var inc = function(x) {return x+1;}
double(inc)(0);
Nhưng double(inc)(0)
lợi nhuận không xác định, không 2. Tại sao?
Điều này không giải thích được gì. Nó chỉ là một trò chơi tại chỗ khác biệt (hoặc trước khi nó được chỉnh sửa) – Quentin
@Quentin - So khớp mẫu thủ công là một kỹ năng tốt để có. – ChaosPandion
@ChaosPandion viết giải thích rõ ràng là một kỹ năng tốt hơn để có – Alnitak