【入門】Common Lisp その9【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
0759デフォルトの名無しさん
2012/12/28(金) 18:07:43.22> Lispの入門書としてなら実践、Lispでできることが知りたいなら実用、じゃないか?
実践のasdf(今は2だっけ?)で挫折したんだけど。asdf2は使えるの?
asdfの所を省いて、パッケージのインストール・管理はquickloadがいいよ。
中の人に死ぬほど感謝している。slimeの人も。
>>757
実践のマクロの解説は短いよね。LISPはマクロ、マクロ言われているから気合い入れて
学ぼうとするんだけど、なんか分からないことが多すぎる。ドラクエの後半に使えるベギ
ラゴンだと思って、諦めている。
さて、lambda, mapcar, applyの基本的な使い方を記述できるのは、個々何の呪文なんでしょ?
覚えた呪文を組み合わせて、ちょっと踏み込んだ使い方できると個々は何の呪文?
サンプルコードありでこの程度はメラとか、関数の使い方の深さで呪文が対応している一覧表が
あるといいなあ。使い方のサンプルコードの作意を読み取るのは気づきもあるし、おもしろいん
じゃないかな。デカいコードを読んで気づくのも大事なんでしょうが。コメントを隠して作意を
コードだけで表現するのもありだけど、コメントでまんま作意を書いてもいいかも。どっちが
おもしろくなるのかは判断がつかぬ。注意としてコメントに重きを置き過ぎてコードの作意の
表現を怠るのは良くない。最大限努力する事。
あと呪文でレベルの度合いを示すのは親しみやすいけど、レベルの度合いを数値で表して複数人の
サンプルをまとめる事になった時にまとめやすいね。だから、数値の方に重きを置いた方が
いい。
;; 呪文:イオ、レベル6 作意:loop+mapcarの組み合わせ。目的はリスト内の全検索。
;; map系関数でこういうものがあるのかと思ったけどなかった。暫定関数
;; (mapcarall= list1 list2)として使っております。まだ熟成していないので作意がバラ
;; バラなのかな。
(loop :for i :to 9 :collect
(mapcar (lambda (x) (= i x))
(reverse (loop :for i :to 9 :collect i))))
試しに書いてみました。話の中で説明したコードの作意について説明できていないように感じる。
意外に難しかった。サンプルを書くのにかなりの実力がいるのかもしれません。
■ このスレッドは過去ログ倉庫に格納されています