ruby の Hash に Array みたいな join メソッドがあったら便利な状況がきっとあるはず。
#!/usr/bin/env ruby
class Hash
def join(str1, str2)
array = []
self.each{|k, v|
array << k + str1 + v
}
return array.join(str2)
end
end
hash = {"cat"=>"3", "paged"=>"2"}
puts 'http://jugyo.org/blog/?' + hash.join("=", "&")
#=> http://jugyo.org/blog/?cat=3&paged=2
追記:
もうちょい簡潔に書けた。
class Hash
def join(str1, str2)
to_a.collect{|array|
array.join(str1)
}.join(str2)
end
end
