タグ

myとstudyに関するkb84tkhrのブックマーク (1)

  • Scheme手習い(14) 部分関数と全関数 - kb84tkhrのブログ

    第9章「……もう一度、もう一度、もう一度、……」は、変な関数の話? まずは部分関数と全関数から (define looking (lambda (a lat) (keep-looking a (pick 1 lat) lat))) (define keep-looking (lambda (a sorn lat) (cond ((number? sorn) (keep-looking a (pick sorn lat) lat)) (else (eq? a sorn))))) この関数、引数によっては無限ループに入ってしまい、実行が終わりません つまり関数が値を返しません 引数によっては関数が値を返さない関数を部分関数と言います これまで出てきた関数は、リストを扱うものであれば リストのcdr(や場合によってはcar)について再帰を行っていました そのため、再帰のたびにリストの長さが短くな

    Scheme手習い(14) 部分関数と全関数 - kb84tkhrのブログ
  • 1