我已经构建了一个表单标记,并从用户中选择了值。这就是我得到的:
params[:user_answer_ids] = {"170"=>["599"], "162"=>["561", "563", "565"], "160"=>["549", "550"]}
现在我想将此哈希中的所有字符串转换为int,例如:
params[:user_answer_ids] = {170=>[599], 162=>[561, 563, 565], 160=>[549, 550]}
我想转换为int,因为我想稍后比较问题和答案ID。目前我在循环哈希时必须使用to_i
方法,所以我想知道是否有任何方法可以一次将所有字符串转换为int。
答案 0 :(得分:3)
你可以假装它......
h={"170"=>["599"], "162"=>["561", "563", "565"], "160"=>["549", "550"]}
h.default_proc = proc{|h,k| h.key?(k.to_s) ? h[k.to_s].map(&:to_i) : nil}
p h[162]
保持数据不变。