2013-08-20 67 views
0

我覺得我錯過了一些非常明顯的東西。Ruby on Rails:無法將哈希值轉換爲浮點數

我有以下散列放置在變量「simple_lable」。調用它檢查工作正常,但我似乎無法訪問任何數值。 .to_i出來爲0,.to_f出來爲0.0和to_s出來空白

puts "**************************" 
puts simple_label.inspect 
puts simple_label["margin_top"].to_f 
puts simple_label["margin_bottom"].to_f 
puts simple_label["margin_right"].to_f 
puts simple_label["margin_left"].to_f 
puts simple_label["paper_size"] 
puts "**************************" 

結果

************************** 
{"paper_size"=>"LETTER", "top_margin"=>36, "bottom_margin"=>36, "left_margin"=>15.822, "right_margin"=>15.822, "columns"=>3, "rows"=>10, "column_gutter"=>15, "row_gutter"=>0} 
0.0 
0.0 
0.0 
0.0 
LETTER 
************************** 

所以價值是有的,但我似乎無法得到保持正確的。

任何想法?

非常感謝。

回答

0

問題是你的散列鍵是不正確的。例如,你的散列值有top_margin作爲關鍵字,但你試圖引用margin_top的關鍵字。對於不存在的密鑰,散列將返回nil,並且to_f,to_i給出零,並且對於nil散列值給出空白to_s

+0

你是如此的正確(拍拍額頭!)。我想有時它只是需要另一雙眼睛,非常感謝:) –

+0

@BjornForsberg沒有問題。我一眼就看不到它。 – lurker