2011-01-01から1ヶ月間の記事一覧

数値のFizz、Buzz等への変換を、Smalltalk(とRuby)で通常より直感的に表現したい

FizzBuzz を Smalltalk的に書くとして、ある n に対して、 n asFizzString, n asBuzzString ifEmpty: [n printString] あるいはもっと簡素に、 n fizz, n buzz ifEmpty: [n] というふうに n にメッセージを送ることでしかるべく変換された文字列の結合―とい…

Squeak Smalltalkで変態的に末尾再帰最適化をする。

Python や Ruby のような平凡な刀もとい言語でのクロージャーなどを使うフロー制御方法などもなかなか興味深いですし、それらをデコレーターやメタプログラミングと組み合わせて適用するところも秀逸なわけですが― http://d.hatena.ne.jp/wasabiz/20110118/1…

「TDD Boot Camp 札幌」にSqueak Smalltalkで参加

1日目は @mrknさんとペアプロで、2日目はソロでしたが、例題のレガシーコードを昼休みに Squeak Smalltalk に書き直してから、仕様化テスト書きとリファクタリングまでやってみました。両日ともとても充実していました。振り返りでも言いましたが、テスト…

Squeak4.1に追加されたジェネレーターを使って、掛け合わせると36になる3つの数の組を列挙する

この「三人の子の年齢当てパズル」に絡めて、 【純粋な論理パズルです】A「私の3人 の子供の年齢を当ててみて」B「ヒントは?」A「年齢の積は36」B「もう少しヒントを」A「年齢の和はあなたの年齢と同じ」B「、、、じゃあ1つ質問。 年齢が一番上の子の名前は?…