トラック
/
Pharo
Pharo
/
演習
/
サイコロ
サイコロ

サイコロ

初級

説明

サイコロを振るための、シンプルなドメイン固有言語(DSL)を作りましょう。Dungeons & Dragonsのようなゲームのプレイヤーなら、こうしたDSLはおなじみでしょう。たとえば、2 D20 + 1 D6という式があります。これは、20面ダイスを2個と6面ダイスを1個振るという意味です。

2 d20 + 3 d10という式なら、Pharoの構文を使って実装できます。+も他のメソッドと同じようにメソッドなので、数値以外のクラスにも実装できます。d20のようなメソッドは、クラス拡張を使えば、既存のIntegerクラスにも実装できます。クラス拡張とは、そのクラスが属するパッケージとは別のパッケージに書かれたメソッドのことです。

備考

この演習は、書籍『Learning Object-Oriented Programming, Design and TDD with Pharo』を出典としています。この書籍は http://books.pharo.org で入手できます。第12章「Crafting a simple embedded DSL with Pharo」からの出題です。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Pharo Exercism

サイコロを始める準備はできましたか?

Exercismに登録すれば、50個の演習、そして本物の人間によるメンタリングとともに、Pharoを学んでマスターできます。すべて無料です。