2

製品を表すハッシュを返すAPIを使用しています。

prod = API.getProduct(id)
prod["name"] => "Widget"

すべての製品に同一の属性ページが含まれているわけではないため、問題が発生します。そのため、1回限りのエラーキャッチを頻繁に行っています。一部の製品には、sizeまたはのキーがあり、一部の製品にはありcolorません。

に到達する最も簡単な方法は何prod["non-existent attribute"] => "NA"ですか?

4

2 に答える 2

4

Dave Newtonが言ったように、ハッシュコンストラクターにデフォルト値を追加できます。

hash = Hash.new { |hash, key| hash[key] = "NA" }
hash[:anything] == "NA" # => true

または、次の#default方法を使用します。

hash = Hash.new
hash.default = "NA"
hash[:anything] == "NA" # => true

編集ハッシュを初期化するときにデフォルト値を設定するための簡単な構文は次のとおりです。

hash = Hash.new("NA")
hash[:anything] == "NA" # => true
于 2013-03-26T19:32:09.980 に答える
0

これを見てください: http
://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-default を使用できますprod.default = "NA"

于 2013-03-26T19:24:36.933 に答える