Есть ли способ сгладить хэш в строку, с дополнительными разделителями между ключами и значениями и парами ключ/значение?
Например, print {:a => :b, :c => :d}.flatten('=','&')
должен печатать a=b&c=d
Я написал код для этого, но мне было интересно, есть ли более простой способ:
class Hash
def flatten(keyvaldelimiter, entrydelimiter)
string = ""
self.each do
|key, value|
key = "#{entrydelimiter}#{key}" if string != "" #nasty hack
string += "#{key}#{keyvaldelimiter}#{value}"
end
return string
end
end
print {:a => :b, :c => :d}.flatten('=','&') #=> 'c=d&a=b'
Спасибо