Two-Fer

Two-Fer

Einfach

Einführung

In manchen englischen Akzenten klingt „two for“ wie „two fer“, wenn du es schnell sagst. „Two-for-one“ ist eine Art zu sagen, dass du eins gratis dazubekommst, wenn du eins kaufst. Die Wendung „two-fer“ deutet also oft auf ein Two-for-one-Angebot hin.

Stell dir eine Bäckerei vor, die ein Feiertagsangebot hat: Du kannst zwei Kekse zum Preis von einem kaufen („two-fer one!“). Du nimmst das Angebot an und beschließt (sehr großzügig), den zusätzlichen Keks jemand anderem in der Schlange zu geben.

Anleitung

Deine Aufgabe ist es, zu entscheiden, was du sagst, wenn du den zusätzlichen Keks verschenkst.

Wenn du den Namen der Person kennst (z. B. wenn sie Do-yun heißt), sagst du:

One for Do-yun, one for me.

Wenn du den Namen der Person nicht kennst, sagst du stattdessen you.

One for you, one for me.

Hier sind ein paar Beispiele:

Name Dialog
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.

Implementierung

In Pharo sind Klassen Objekte, die Instanz- und Klassenmethoden haben können. Anders als bei HelloWorld rufen die Tests für TwoFer jedoch Instanzmethoden auf. Klassenmethoden werden normalerweise verwendet, um neue Objekte zu erzeugen (wie ein Konstruktor in anderen Sprachen).

Wenn man über Methoden spricht, ist es hilfreich zu wissen, dass eine Methode ohne Parameter unäre Methode heißt und eine Methode mit mehreren Parametern, die jeweils durch ein Wort, das mit einem Doppelpunkt endet, getrennt werden, Schlüsselwortmethode heißt.

Es gibt noch einen dritten Typ von Methode, die binäre. Sie nimmt nur 1 Parameter entgegen und verwendet ein oder mehrere Symbole als Namen (typischerweise ein mathematisches wie +, -, & usw.).


Quelle

Sieh dir die Quelle dieser Übung an.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Pharo Exercism

Bereit, mit Two-Fer zu starten?

Melde dich bei Exercism an, um Pharo mit 50 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.