Common Lisp, Scheme Part 14
■ このスレッドは過去ログ倉庫に格納されています
0473デフォルトの名無しさん
2006/02/25(土) 22:30:23「継続を実装したプロシージャは任意個数の引数を受け取ることができるため、
継続引渡しスタイルを用いて複数の結果を返すプロシージャを定義すること
ができるようになる」
という記述がありますが、これはどういう意味でしょうか?
普通のプロシージャだって任意個数の引数を受け取れますよね?
「複数の結果を返す」と言っていますが、例を見ても戻り値は一つにしか見え
ません。
任意の手続きを渡せて、それに従って結果も変えられる、ってのはわかりますが、
それだけだったら、継続引渡しスタイルなんてわざわざ言わなくても、プロシー
ジャ渡し、などと言った方がすっきりしそうに思えます。
ちなみに例は以下。
(define car&cdr
(lambda (p k)
(k (car p) (cdr p))))
(car&cdr '(a b c)
(lambda (x y)
(list y x))) => ((b c) a)
(car&cdr '(a b c) cons) => (a b c)
(car&cdr '(a b c a d) memv) => (a d)
■ このスレッドは過去ログ倉庫に格納されています