1
利弊我想Lisp代碼(在Abelson/Sussman MIT course找到)實現Lisp的在JavaScript
(define (cons a b)
(lambda (pick)
(cond ((= pick 1) a)
((= pick 2) b))))
(define (car x) (x 1))
(define (cdr x) (x 2))
(car (cons 2 4))
翻譯成JavaScript(fiddle)
function cons(a, b){
return function(x){
if(x === 1){
return a;
}
else if(x === 2){
return b;
}
}
}
function car(x){
x(1);
}
function cdr(x){
x(2);
}
console.log(car(cons(2,4)));
JavaScript中的結果是undefined
。我在調試器中關注了它,儘管cons
然後car
返回了所需的值,但在控制檯(或警報或分配給變量)時,結果始終爲undefined
。
什麼是在JavaScript中實現(或使用)它的正確方法?這有可能嗎?
務必[接受你的答案(http://meta.stackexchange.com/q/5234/225437)當時間限制(如果有是一)已經結束了! – 2014-09-05 12:15:17