Есть ли какой-нибудь чистый способ преобразования многоуровневого хэша в строку - PullRequest
0 голосов
/ 28 марта 2012

Для многоуровневого хэша level1 я написал этот код,

{"1"=>{2=>0}}.map{|k,v| v.class!=Hash ? "#{k}=#{v}" : "#{k}=#{v.keys[0]}@#{v.values[0]}"}.join('&')

но это не может быть использовано для хэширования более одного уровня. Есть ли способ написать общий код или любой другой метод, доступный для преобразования многоуровневого хеша n уровней в строковый формат .

1 Ответ

3 голосов
/ 28 марта 2012

Встроенный inspect уже делает это (большинство объектов имеют этот метод)

{"1"=>{2=>0}}.inspect
# => "{\"1\"=>{2=>0}}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...