- 513 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:14:32 ]
- >>511
速度とかメモリ効率とか。 メソッドのディスパッチも基本的には実行時にしか出来ないし。 どうでもいいけど、アンカ間違ってるぞ。 速度的には検証していないけど、 なんとなく>>506がイメージしているものを想像して書いてみた。 Gauche には依存していないつもり。 (define (make-stack) (let ((stack (cons '() '()))) (lambda(proc) (proc stack)))) (define (push stack-obj elem) (stack-obj (lambda(stack) (set-cdr! stack (cons (car stack) (cdr stack))) (set-car! stack elem)))) (define (pop stack-obj) (stack-obj (lambda(stack) (if (null? (car stack)) '() (let ((elem (car stack))) (set-car! stack (cadr stack)) (set-cdr! stack (cddr stack)) elem)))))
|

|