星田オステオパシー

Racketで何か動くものが・・007 Land of Lispのコードを移植



日本語訳つけてゆくのが気に入ったので続けて行く。Cametan42さんのDo文を。Doのカウンタ内でIfが使えるのに感動する。Call/CCの脱出は形が完璧に決まってるっぽいので楽かな!継承のサンプルコードは見た時に意義が見いだせなくて放置してたけど脱出良いっすね!

~~~~~~~~~~~~~~~~~~


 ちょっと思い立ってネットでLand of Lispのコードを探してみるとちゃんと公開されてるじゃないか!ありがたいなぁ・・というわけで、これをSchemeで動かすにはどうするか?というのをCommonLispとの書き方の違いの勉強も含めてやってみようかと。


 まずはそのままコピーして・・まあとりあえずDefineに変えてゆくか・・あと関数の引数を取らない書き方が()いらんと


 CommonLispだと関数を呼び出した時点で値が表示されるようになってるみたいだけど、Racketだと最後でシンボルを呼び出してやらんと関数名が返るだけっぽい。で、合計を2で割って探索してゆくんだけど分数が使えるから奇数を割ったら分数でw まあ別に良いんだけど・・ashはRacketに入ってるか謎だったので2で割ればええやんと思ったけど、このためにashを使ってたのか・・



 調べるとQuotientという関数で「商を得る」と言うのが見つかったので試しに/と交換してみたら余りは切り上げてくれる模様。とりあえず1つ目はクリアか~。次は魔法使いの家を歩き回る例のアレだから手こずりそう・・この調子で毎日ちょっとずつでも打ち込むようにしよう





  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事