Em alguns sotaques do inglês, quando dizes "two for" à pressa, soa a "two fer". Two-for-one é uma forma de dizer que, se comprares um, também recebes outro de graça. Por isso, a expressão "two-fer" sugere muitas vezes uma oferta two-for-one.
Imagina uma padaria com uma oferta de época festiva em que podes comprar dois biscoitos pelo preço de um ("two-fer one!"). Aceitas a oferta e (com muita generosidade) decides dar o biscoito extra a outra pessoa na fila.
A tua tarefa é decidir o que vais dizer quando deres a bolacha extra.
Se souberes o nome da pessoa (por exemplo, se a pessoa se chamar Do-yun), vais dizer:
One for Do-yun, one for me.
Se não souberes o nome da pessoa, dizes you em vez do nome.
One for you, one for me.
Aqui estão alguns exemplos:
| Nome | Diálogo |
|---|---|
| Alice | One for Alice, one for me. |
| Bohdan | One for Bohdan, one for me. |
| One for you, one for me. | |
| Zaphod | One for Zaphod, one for me. |
Em Pharo, as classes são objetos que podem ter métodos de instância e métodos de classe. No entanto, ao contrário do HelloWorld, os testes do TwoFer foram escritos para chamar métodos de instância. Normalmente, os métodos de classe usam-se para construir novos objetos (como um construtor noutras linguagens).
Ao falar de métodos, é útil saber que um método sem parâmetros se chama método unário, e um método que recebe vários parâmetros, cada um delimitado por uma palavra terminada em ':', se chama método de palavra-chave.
Existe ainda um terceiro tipo de método, o binário, que recebe apenas 1 parâmetro e usa um ou mais símbolos como nome (habitualmente um símbolo matemático, como: +, -, &, etc.).
Inscreve-te no Exercism para aprenderes e dominares Pharo com 50 exercícios, e mentoria humana real, tudo grátis.