我觉得我错过了一些非常明显的东西。
我将以下哈希放在变量“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 :(得分:0)
问题是您的哈希键不正确。例如,您的哈希值为top_margin
,但您尝试引用margin_top
的密钥。对于不存在的密钥,哈希将返回nil
,并且to_f
,to_i
给出零,to_s
为nil
哈希值留空。