Вы пытались установить Петлевой Адаптер MS и попытаться осуществить сниффинг на том адаптере с Вами любимого приложения сниффинга?
Также, если я помню correctluy NAI Сниффер , ссылка действительно использовала для имения петлевых возможностей сниффинга, но это было некоторое время, я использовал любое решение...
Это, наверное, лучшее, что вы можете сделать. Вы можете перебирать пары в хэше, строя строку по ходу. Но в этом случае промежуточную строку нужно будет создавать и удалять на каждом шаге.
Есть ли у вас вариант использования, когда это узкое место в производительности? В общем, Ruby так много делает за кулисами, что беспокоиться о таком временном массиве, вероятно, не стоит. Если вас беспокоит, что это может быть проблемой, подумайте о профилировании вашего кода по скорости и использованию памяти, часто результаты не соответствуют вашим ожиданиям.
Из The Pragmatic Programmer's Guide :
Несколько параметров, переданных в yield преобразуются в массив, если блок имеет только один аргумент.
Например:
> fields = {:a => "foo", :b => "bar"}
> fields.map { |a| a } # => [[:a, "foo"], [:b, "bar"]]
Итак, ваш код можно упростить следующим образом:
> fields.map{ |a| a.join('=') }.join('&') # => "a=foo&b=bar"