基礎プログラミング II 第 2 回 (なになにといえばこれこれ) 「対にないものが呼び出されたとき」 講義ノート目次

Hash 対の value では初期値を設定することができる。 初期値には存在しない key が呼び出されたとき、 その代替となるものを入れておくとよい。 ルビ緒は、入力した品物が Hash 対の key でないとき、 取り扱っていない商品であることを知らせるようにした。

hash 名 = Hash(初期値) 存在しない key が呼び出さ れたときに初期値を代入

Hash 対が登録されていないときにこの初期値が呼び出される。


#p shop 

STDERR.print("購入する品物:\n")
item = gets.chomp
#p shop.key?(item)

if shop.key?(item) == false
printf("%sは%sです\n",item, shop[item])
else
STDERR.print("購入する重量:\n") weight = gets.chomp.to_f printf("%s(%5.0f グラム)\t%5.0f円\n", item, weight, shop[item] * weight / 100)
end

出来上がったら、実行して調べよう。

購入する品物:
にんじん
にんじんは非取扱商品です

初期値を設定しなくてもよい。 この場合、key が存在しないときには nil が返る。 nil とは、空っぽの、無効の、という意味である。