Ruby / RoR - хэш строк в целочисленный хэш - PullRequest
0 голосов
/ 21 декабря 2010

У меня есть хэш @answers = params [: ответы] .to_hash;

<%= debug @answers %> ауты

--- 
"1": "2"
"7": "3"
"6": "4"
"4": "0"

Нужно сделать @answers равным приведенному ниже

@ans = {1 => 2, 7 => 3, 6 => 4, 4 => 0} <%= debug @answers %> аутов

--- 
1: 2
7: 3
6: 4
4: 0

Ответы [ 2 ]

11 голосов
/ 21 декабря 2010

Черная магия сообщает в:

answers = {"1" => "2", "3" => "4"}
Hash[*answers.to_a.flatten.map(&:to_i)] # => {1=>2, 3=>4}
3 голосов
/ 21 декабря 2010

Вот код

@ans = {"1" => "2", "7" => "3", "6" => "4", "4" => "0"}
@foo_hash ={} #new_hash
@ans.each_pair{|k,v| @foo_hash.store(k.to_i,v.to_i)}

@foo_hash будет {1 => 2, 7 => 3, 6 => 4, 4 => 0}

Тогда вы можете <% = debug @foo_hash%> получить результат в формате YAML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...