In alcuni accenti inglesi, quando dici «two for» velocemente, suona come «two fer». Two-for-one è un modo per dire che se ne compri uno, ne ottieni un altro gratis. Quindi l'espressione «two-fer» spesso implica un'offerta due per uno.
Immagina una panetteria che ha un'offerta festiva: puoi comprare due biscotti al prezzo di uno («two-fer one!»). Approfitti dell'offerta e (con grande generosità) decidi di regalare il biscotto in più a qualcun altro in coda.
Il tuo compito è determinare cosa dirai quando regalerai il biscotto in più.
Se conosci il nome della persona (ad esempio se si chiama Do-yun), dirai:
One for Do-yun, one for me.
Se non conosci il nome della persona, dirai invece you.
One for you, one for me.
Ecco alcuni esempi:
| Nome | Dialogo |
|---|---|
| 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. |
In Pharo, le classi sono oggetti che possono avere metodi di istanza e metodi di classe; tuttavia, a differenza di HelloWorld, i test di TwoFer sono stati scritti per chiamare i metodi di istanza. Di solito i metodi di classe si usano per costruire nuovi oggetti (come un costruttore in altri linguaggi).
Quando si parla di metodi, è utile sapere che un metodo senza parametri si chiama metodo unario, mentre un metodo che accetta più parametri, ciascuno delimitato da una parola che termina con «:», si chiama metodo keyword.
C'è anche un terzo tipo di metodo, quello binario, che accetta un solo parametro e usa un simbolo per il nome (di solito uno matematico, come +, -, & e così via).
Iscriviti a Exercism per imparare e padroneggiare Pharo con 50 esercizi e il mentoring di persone reali, tutto gratis.