У деяких англійських акцентах, коли ми швидко кажемо «two for», це звучить як «two fer». «Two-for-one» означає, що, купивши одну річ, другу ми отримуємо безкоштовно. Тож фраза «two-fer» часто означає пропозицію «два за ціною одного».
Уявімо пекарню, яка має святкову пропозицію: можна купити два печива за ціною одного («two-fer one!»). Ми приймаємо пропозицію і (дуже щедро) вирішуємо віддати зайве печиво комусь іншому в черзі.
Наше завдання - визначити, що ми скажемо, віддаючи зайве печиво.
Якщо ми знаємо імʼя людини (наприклад, якщо її звати Do-yun), то скажемо:
One for Do-yun, one for me.
Якщо ми не знаємо імʼя людини, то замість нього скажемо you.
One for you, one for me.
Ось кілька прикладів:
| Імʼя | Діалог |
|---|---|
| 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. |
У Pharo класи є обʼєктами, які можуть мати методи екземпляра та методи класу. Однак, на відміну від HelloWorld, тести для TwoFer написано так, що вони викликають методи екземпляра.
Зазвичай методи класу використовують для створення нових обʼєктів (як конструктор в інших мовах).
Говорячи про методи, корисно знати, що метод без параметрів називають унарним методом, а метод із кількома параметрами, кожен з яких позначають словом, що закінчується на «:», називають ключовим методом.
Є також третій тип методів, бінарний, який приймає лише 1 параметр і як назву використовує символ (чи кілька символів), зазвичай математичний, як-от: +, -, & тощо.