轨道
/
Pharo
Pharo
/
练习
/
Two-Fer
Two-Fer

Two-Fer

简单

简介

在某些英语口音里,如果把“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 个形参,并用符号作为名称(通常是数学符号,如 +、-、& 等)。


来源

查看这道练习的来源。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Pharo Exercism

准备好开始 Two-Fer 了吗?

注册 Exercism,借助 50 个练习 和真人导师指导,学习并掌握 Pharo,全部免费。