Enjoy Gauche

いっしょに Gauche プログラミングを楽しみましょう。

これから少しずつGaucheプログラミングのガイドを書いていきます。 ご意見、ご感想、ご指摘、ご提案などありましたら、コメントフォームから どんどん書き込んでください。


Enjoy Gauche 目次


Enjoy Gauche 全般に関するコメント

この記事全般についてのご意見、ご感想、ご指摘、ご提案などありましたら、どしどし 記入してくださいまっせ。

(コメント欄記入の際の注意)

  • 再編集はできません
  • 一行を適当な長さで改行してくださいませ
  • Name欄が空だとコメントが追加されませんのでニックネームを記入してください


Additional Online Material

Gaucheプログラミング関連で、これまで公開してきた資料を紹介します。(2005.3.18)


Name:
Comment:
くに: (Sun Nov 13 00:02:42 2005 )
横スクロールバーが出て読みにくいところが
あるのですが、なんとかならないでしょうか?
び: (Mon May 28 18:08:53 2007 )
あまりにコメントSPAMがひどかったので長らく閉鎖していましたが、コメント欄を復活して
みました。素朴なコメントSPAMチェックを行っています。
び: (Mon May 28 18:13:59 2007 )
なお、URLは本文中にひとつしか含められません。また、HTMLタグは解釈しません。
BBcodeも同様です。いずれも含まれた場合はコメントSPAMであると判断します。
び: (Mon May 28 18:24:37 2007 )
しばらく試験運用した後、SPAM判断のルールは適宜変更します。
び: (Tue Jun 5 12:34:44 2007 )
何だかよくわからない英語のメッセージを削除しました。
び: (Fri Jun 8 09:06:55 2007 )
preに対して、overflow: auto; を設定しました。これで、ページ全体に横スクロールバーが出てしまう問題は
(一部のブラウザを除けば)回避できると思います。単にコメントごとに横スクロールバーが出るようになるだけ
なのですが。
9℃: (Thu Jul 5 12:42:17 2007 )
gauche初心者で、いろいろ参考にさせていただいております。

こちらに書くことがどうか分からないのですが、
8.3.3. にある accumulator-gen-bis の定義について。

最後の行にある
(iter i 0)))
は
(iter i 1)))
とすべきではないでしょうか?

現状の定義で、練習問題8.1にある
階乗の定義
(define fact-bis
  (accumulator-gen-bis * 1))
を行うと引数に関わらず0が返ります。

(iter 1 0)
=(iter (* 1 0) (+ 0 1))
=(iter 0 1)
=(iter (* 0 1) (+ 1 1))
=(iter 0 2) -> 0 (at n=1) ->1が返るべき
=(iter (* 0 2) (+ 2 1))
=(iter 0 3) -> 0 (at n=2) ->2が返るべき

count を1から始めると正しく動作します。
(iter 1 1)
=(iter (* 1 1) (+ 1 1))
=(iter 1 2) -> 1 (at n=1) 1!=1
=(iter (* 1 2) (+ 2 1))
=(iter 2 3) -> 2 (at n=2) 2!=2
=(iter (* 2 3) (+ 3 1))
=(iter 6 4) -> 6 (at n=3) 3!=6

countを1からにしても、sum-bisには問題ありませんでした。count=0の処理を行っても0を加算するだけなので。

…それとも、accumulator-gen-bis の引数を工夫して何かうまくできるものなのでしょうか。
び: (Fri Jul 6 11:17:23 2007 )
ありがとうございます。ご指摘の通りだと思うので修正しました。そもそも繰り返し回数がcount+1になっちゃい
ますからね。
び: (Fri Jul 6 11:35:27 2007 )
> 繰り返し回数がcount+1に
count+1じゃなくてn+1だった...

なお、「Easy Gauche」はほぼ放置状態なので、ひょっとすると、こちらの方がいいかもしれません。
http://karetta.jp/book/gauche-hacks

Powered by Kahua