この演習では、看板会社が看板に表示するカスタムメッセージを作成できるよう、コードを書いていきます。
occasion仮引数として文字列を、name仮引数として誰かの名前が入った文字列を受け取るメソッドbuild_sign( )を実装します。2つの仮引数は文字列テンプレートに埋め込まれ、看板に表示するメッセージが出力されます。
build_sign( occasion = 'Birthday'
name = 'Rob').
" => "Happy Birthday Rob!"
年齢を受け取るメソッドbuild_birthday_sign( )を実装します。年齢に応じて、看板に表示するメッセージの一部が決まります。年齢が50以上であれば、看板には_mature_という単語が入ります。そうでなければ、_young_という単語が入ります。
build_birthday_sign( 45 ).
" => "Happy Birthday! What a young fellow you are."
名前を文字列の仮引数として、年を数値の仮引数として受け取り、文字列テンプレートを使って看板用のフレーズを作るメソッドgraduation_for( )を実装します。このフレーズは、改行でメッセージの2行を区切ります。
graduation_for( name = 'Hannah'
year = 2022 ).
" => "Congratulations Hannah!\nClass of 2022"
看板の内容が入った文字列と、通貨を表す文字列を受け取る関数cost_of( sign currency )を実装します。
看板の基本料金は、指定された通貨で20です。さらに、1文字ごとに2かかります(空白も計算に含まれます)。
返されるフレーズには、看板を作成する費用が小数点以下2桁で書かれ、そのあとに通貨を表す文字列が続きます。
costOf( sign = 'Happy Birthday Rob!'
currency = 'euros');
// => "Your sign costs 58.00 euros."