This Ruby code is not behaving as I would expect:
# create an array of hashes
sort_me = []
sort_me.push({\"value\"=>1, \"name\"=>\"a\"})
sort_me.push({
Ruby's sort doesn't sort in-place. (Do you have a Python background, perhaps?)
Ruby has sort! for in-place sorting, but there's no in-place variant for sort_by in Ruby 1.8. In practice, you can do:
sorted = sort_me.sort_by { |k| k["value"] }
puts sorted
As of Ruby 1.9+, .sort_by! is available for in-place sorting:
sort_me.sort_by! { |k| k["value"]}