Two Fer

Two Fer

初級

はじめに

英語のいくつかの訛りでは、"two for"を素早く言うと"two fer"のように聞こえます。Two-for-oneとは、1つ買うともう1つ無料で手に入るという意味の言い方です。そのため、"two-fer"という言葉は、しばしば2つで1つのお得な提供を意味します。

クッキーを2枚、1枚分の値段で買える休日のキャンペーンをやっているパン屋を想像してみましょう("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.

トラック固有の注意点

Schemeで省略可能な引数を得る方法のひとつは、引数をリストとして指定することです。その方法は2つあり、(define (two-fer . args) ...)または(define two-fer (lambda args ...))と書きます。


出典

この演習の出典を見てみましょう。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Scheme Exercism

Two Ferを始める準備はできましたか?

Exercismに登録すれば、39個の演習、そして本物の人間によるメンタリングとともに、Schemeを学んでマスターできます。すべて無料です。