2015-04-18 25 views
12

Tôi có một mảng ruby ​​và tôi muốn sắp xếp tất cả các phần tử bắt đầu bằng chỉ mục i cho đến chỉ mục j, tại chỗ. Phần còn lại của mảng không được sửa đổi. Làm thế nào tôi có thể thực hiện điều này?Sắp xếp một phần của một mảng trong Ruby

+0

Câu hỏi hay. @CodeGnome, thừa nhận nó: bạn đã được chứng minh là sai. :-) –

Trả lời

18

Bạn có thể sử dụng a[i, j] = a[i, j].sort! để sắp xếp từ chỉ mục i thành chỉ mục j. Ví dụ:

a = [8, 7, 5, 4, 3] 
a[2..4] = a[2..4].sort! 
a # => [8, 7, 3, 4, 5] 
+0

Tôi sẽ bình luận nó sẽ không làm những gì OP muốn, nhưng sự thay đổi là tốt – texasbruce

+0

Rất đẹp, có vẻ như bạn đang trên một cuộn ngày hôm nay. –

+3

'a [2..4] = a [2..4] .sort!' Sẽ có hiệu quả nhỉnh hơn vì nó chỉ tạo một mảng tạm thời. –

Các vấn đề liên quan