エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
call/cc使ってみる - チキン煮込みチーズミックス4辛
記事へのコメント0件
- 人気コメント
- 新着コメント
このエントリーにコメントしてみましょう。
人気コメント算出アルゴリズムの一部にヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
関連記事
call/cc使ってみる - チキン煮込みチーズミックス4辛
call/ccを実行すると、その時点での継続を捕まえられるらしい。 (call/cc (lambda (cont) body)) ってす... call/ccを実行すると、その時点での継続を捕まえられるらしい。 (call/cc (lambda (cont) body)) ってすると、継続がcontを束縛するらしい。 call/ccの戻り値はbodyだけど、bodyの中でcontが実行された場合はcontの引数がそのまま戻り値になるらしい。 contが複数の引数をとる手続きだったらどうなるんだろう?そんなこと起こり得るのかな?多値が返るのかな?まぁいいや、後で考えよう。 ということで、call/cc使ってみる。次のような簡単な2つの手続きを用意しとく。 (define inc (lambda (n) (+ n 1))) (define twice (lambda (n) (* n 2))) 簡単な手続きなので、なんてことない。 gosh> ((lambda (n) (inc (twice n))) 3) 7 さて、じゃぁ(twic