該当しないキーが呼び出されたとき

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 年度

Madoka Nishimura <madoka@e.koeki-u.ac.jp>