このSchemeコードをJavascriptに変換しようとしています。
(define (double f)
(lambda (x) (f (f x))))
(define (inc x) (+ x 1))
((double inc) 0)
((double inc) 0)
を意味する(inc (inc 0))
ので、2を返します。
これは私のJavascriptコードです:
var double = function(f){
return function(x) { f(f(x)); }
}
var inc = function(x) {return x+1;}
double(inc)(0);
しかしdouble(inc)(0)
、2ではなく未定義を返します。なぜですか?