Hash 配列には、初期値を設定することができる。 初期値には存在しない key を呼び出されたとき、 その代替となるものを入れておくとよい。 ルビ緒は、入力した品物が Hash 対の key でないとき、、 取り扱っていない商品であることを知らせるようにした。
# hash 名 = Hash(初期値) # 存在しない key が呼び出されたときに初期値を代入
Hash 対が登録されていないときにこの初期値が呼び出される。
#p shop
STDERR.print("購入する品物:\n")
item = gets.chomp
#p shop.key?(item)
STDERR.print("購入する重量:\n")
weight = gets.chomp.to_f
if shop.key?(item) == false
printf("%sは%sです\n",item, shop[item])
else
printf("%s(%5.0f グラム)\t%5.0f円\n",
item, weight, shop[item] * weight / 100)
end
出来上がったら、実行して調べよう。
購入する品物:
にんじん
購入する重量:
200
にんじんは非取扱商品です
初期値を設定しなくてもよい。 この場合、key が存在しないときには nil が返る。 nil とは、空っぽの、無効の、という意味である。
本日の講義 / 基礎プログラミング II / 2007 年度