Tôi cần kiểm tra xem hai mảng có chứa cùng một dữ liệu theo bất kỳ thứ tự nào không. Sử dụng tưởng tượng compare
phương pháp, tôi muốn làm:So sánh hai mảng trong Ruby
arr1 = [1,2,3,5,4]
arr2 = [3,4,2,1,5]
arr3 = [3,4,2,1,5,5]
arr1.compare(arr2) #true
arr1.compare(arr3) #false
tôi đã sử dụng arr1.sort == arr2.sort
, xuất hiện để làm việc, nhưng là có một cách tốt hơn để làm điều này?
Cảm ơn. Đây là giải pháp duy nhất trả về true cho 'arr1' và' arr2' đầu tiên, khi tôi so sánh từng mảng này: 'arr1 = [1,2,3,5,4]; arr2 = [3,4,2,1,5]; arr3 = [3,4,2,1,5,5]; arr4 = [1,2,3,5,4,4] '- Tôi không chắc liệu tôi sẽ luôn gặp rắc rối khi cài đặt đá quý, nhưng nếu tôi sử dụng nó cho một thứ gì đó, điều này có vẻ như phương pháp tốt hơn nhiều. – SimonMayer
Bên cạnh n nhật ký n 'sắp xếp' không hoạt động tốt với các loại khác nhau, ví dụ: nếu có 'nil' s. Tần số nên làm việc tốt, ý tưởng tốt. –
Việc thực hiện dễ dàng 'tần số' là bằng cách tiêm: lớp Array; tần số def; self.inject (Hash.new (0)) {| p, v | p [v] + = 1; p} kết thúc; Kết thúc –