エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Karetta|第2回 Kahuaセミナー資料|返り値を受け取る手続きを渡す
継続手続き 継続渡し形式(CPS:Continuation Passing Style)の説明で しばしばサンプルとして採用される... 継続手続き 継続渡し形式(CPS:Continuation Passing Style)の説明で しばしばサンプルとして採用される階乗を定義してみる。 (define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) このfactを以下のように書き換えてみる。 (define (fact/cps n cont) (if (= n 0) (cont 1) (fact/cps (- n 1) (lambda (a) (cont (* n a)))))) factの基底条件では1を返しているが fact/cpsでは直接には値を返さず、引数として渡された手続きcontに渡している。 fact/cpsに渡している、この様なcontを継続手続きと呼ぶ。 fact/cpsはfactとは違って、返り値を変更する手続きが渡せる。 gosh> (fact/cps 10
2008/02/12 リンク