19
私はちょうどルビーを学び始めました。私はハッシュの配列を持っています。私はハッシュの要素に基づいて配列をソートできるようにしたい。私はsort_byメソッドを使用できるはずだと思います。誰か助けてもらえますか?ここでruby sort_byメソッド
#array of hashes
array = []
hash1 = {:name => "john", :age => 23}
hash2 = {:name => "tom", :age => 45}
hash3 = {:name => "adam", :age => 3}
array.push(hash1, hash2, hash3)
puts(array)
は私のsort_byコードです:
# sort by name
array.sort_by do |item|
item[:name]
end
puts(array)
何も配列に起こりません。どちらもエラーはありません。
ありがとうございました。私も同じことを考え出しただけです。 another sort_byの例を見ました。だからsort_byはインプレースをしません。 –
Bangメソッド(!で終わるもの)はその場で修正されますが、それらを使用せず、新しいオブジェクトを古いものの修正バージョンとして作成することをお勧めします。メソッドがオブジェクトを突然変異させるようにすることで、微妙なバグをプログラムに導入することができます。 – quandrum
洞察をいただきありがとうございます。 –