19
Tôi vừa mới bắt đầu học ruby. Tôi có một mảng băm. Tôi muốn để có thể sắp xếp các mảng dựa trên một elementin băm. Tôi nghĩ tôi có thể sử dụng phương thức sort_by. Ai đó có thể giúp tôi không?phương pháp 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)
Đây là mã sort_by tôi:
# sort by name
array.sort_by do |item|
item[:name]
end
puts(array)
Không có gì xảy ra với mảng. Không có lỗi nào.
Cảm ơn bạn. Tôi cũng tìm ra điều tương tự. Thấy một ví dụ sort_by khác. Vì vậy, sort_by không làm tại chỗ. –
Phương pháp Bang (Kết thúc bằng!) Sửa đổi tại chỗ, nhưng thực hành tốt là không sử dụng chúng và tạo đối tượng mới dưới dạng phiên bản sửa đổi của các phiên bản cũ. Các lỗi tinh vi có thể được đưa vào các chương trình của bạn bằng cách cho phép các phương thức biến đổi các đối tượng của bạn. – quandrum
Cảm ơn bạn đã thấu hiểu. –