星田オステオパシー

番外編 LISPのお勉強続けます

Cametan42さんからLISPに関する疑問への解答などをビックリするほど詳細にいただきました。なんかお手数かけすぎてホントありがたいし申し訳ないしで・・。しかしこのCametan42さんの知識と推理力をもってしても読みきれなかったようだな・・この私の数学オンチぶりは!いや、もう、ホントひどいですから私の数学力は(漸化式の事なのだ!って・・なんスかそれ?ってレベル)。

けど、だからこそ数学とかプログラミングに対する憧れみたいなのがずっとあるんですけどね・・。ひょっとするとLISPの勉強を進めることで数学のやり直しが出来るかも知れないという考えに至りました。

さて、そういうわけで手始めにリリカルLISPの攻略を続けます。今回は9話まで終わりました。


こういう解説、実は一昨日読んだんだけども今日、これを書こうと思って画像を見て完全に忘れているというね・・使いながらルールを覚えてゆくしか無いのか・・?




んでまあ、共用してるデータの置き換えに注意みたいな話があって・・


今回の問題。なぜか今回はこのヒントの部分と、途中の「ここ出ますよ!」って言ってたところをそのまま書くと正解でした。だが・・実際はよく分かってないのに正解してしまった印象。これはちゃんと振り返って理解してないところを洗い出さねば・・。

とか言いながら実は一度失敗してますw 無限ループで停止することに。このリリカルLISPとは別で実行環境が欲しいねん・・

これももう一回やる。けど、気軽にガンガン実行できる環境が・・

あと、聞き手の「すずか」ちゃんが異様に理解力が高くて嫉妬


茶番無しで系統立った解説が見たくなって他の入門ページで再帰の勉強。普通の単純な再帰を使った階乗計算は仕事中に突然理解出来た(Ifの次の数が0だったり1だったりするのが謎だったw。足し算は0じゃないと困るし掛け算は1じゃないと困るってだけの事ですよね?)。


これは全然分かる(数値が生成されるので)

これは結局CAR部分がどんどん足されてゆくってことで多分分かってる


これが・・うーん・・? (cons (car x)(app (cdr x) y))))って最後のリストyに足していってるってことなんだろうけど、(car x)(app (cdr x)の部分はカッコでくくった1まとまりって事でこの部分だけが再帰処理されてるってことでエエんやろか・・・じゃないと、acd→bacdになりそうだしなぁ・・。実行環境があったら試して一発で分かるかもと思うんだけどPaizaのオンライン実行環境Schemeに入れてもエラーだったり何も出なかったり・・



関係ないけど上から流れてゆく癖がついてるので、先にfact-recが書かれてないのがすごい違和感。


あと、実際のPythonで動いているゲームのプログラムも見てみようと思ってババ抜きプログラムを読んでたんだけど・・・今までのHTMLとかOPMLも変換のとかってのは上から流れてって、最後に出力して終わりってので分かるんだけど、ババ抜きプログラムだと役割もClassとして決めて(カードとかプレイヤーは分かるんだけど、ディーラーとかメイン動作もClassとして作ってる)、全部の作業をそれぞれの役が引き受ける感じなんですよねぇ・・Classってモンスターとかトランプのカードとか一複数の属性を持ったデータとかを効率よく管理するための鋳型ってイメージがあったので、メイン部分までClassのかぁ~とか

うーん、いかんな~・・散らかってきた。とりあえずリリカルLISPを最後までちゃんとやるために、LISPの実行環境を探して整えよう。
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

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

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