Dado

Dado

Fácil

Instruções

Desenvolva uma linguagem específica de domínio (DSL) simples para rolar dados. Quem joga jogos como Dungeons & Dragons já conhece esse tipo de DSL. Um exemplo é a seguinte expressão: 2 D20 + 1 D6, que significa que devemos rolar dois dados de 20 lados e um dado de 6 lados.

A expressão 2 d20 + 3 d10 pode ser implementada com a sintaxe do Pharo. O + é um método como qualquer outro e pode ser implementado em classes que não sejam números. Métodos como d20 podem ser implementados na classe Integer existente por meio de extensões de classe, ou seja, um método em um pacote diferente daquele em que a classe está.

Observação

Este exercício foi extraído do livro: Learning Object-Oriented Programming, Design and TDD with Pharo, disponível em http://books.pharo.org. Capítulo 12: Crafting a simple embedded DSL with Pharo.

Editar via GitHub O link abre em uma nova janela ou aba
Pharo Exercism

Tudo pronto para começar Dado?

Crie sua conta no Exercism para aprender e dominar Pharo com 50 exercícios e mentoria humana de verdade, tudo de graça.