lisp

両替 lisp

両替

id:smeghead:20070713:coin の続き 気力の持つ間はたらたら進めます。 両替の関数を作ろうとしていますが、結構面倒でした。 両替の元の硬貨と財布を引数として受けとり、両替した硬貨と両替後の財布を返す関数にしました。 (exchange 100 '((10 . 14) (1 . …
or と 多値の評価 lisp

or と 多値の評価

不思議な現象を発見しました。 下のように1つだけの多値(multiple values)を or で評価すると、結果は、1,2(多値)となりました。 (or (values 1 2)) 1 2 しかし、2つの多値を or で評価すると、結果は、1 になりました。 (or (values 1 2) (…
コインを減らす払い方(2) lisp

コインを減らす払い方(2)

前回 id:smeghead:20070712:pay 自分のこの論理的思考力の弱さはなんとかしたい。 挫折編 考え方が簡単になるように、支払うコインを1枚づつ決定していく方針を考えた。具体的には、残金と今の財布の状態を引数に、支払うべきコインを算出して現在の財布から引く。の繰り返し。その中で、同時…
コインを減らす払い方 lisp

コインを減らす払い方

どう書く?orgに、「コインを減らす払い方」という問題があります。 http://ja.doukaku.org/3/ この問題が、総当り方式でも難しいと思いました。 id:ytakenaka:20070703:p2 で、ytakenakaさんが、釣り銭候補のルール書かれているのを前に読んでいたんです…
hyperspec検索 lisp

hyperspec検索

id:smeghead:20070612:spec の続き 遅くなってしまいましたが、ytakenakaさんの検索機能付き hyperspec.py を導入しました。 http://d.hatena.ne.jp/ytakenaka/20070303/p1 関数・マクロを全然知らないので、これは助かり…