Tôi có một mảng của các mảng:Chọn tất cả các phần tử từ một cột trong một mảng các mảng trong Ruby?
arr = [["Foo1", "Bar1", "1", "W"],
["Foo2", "Bar2", "2", "X"],
["Foo3", "Bar3", "3", "Y"],
["Foo4", "Bar4", "4", "Z"]]
Và tôi muốn một mảng chỉ chứa các cột thứ ba của mỗi mảng:
res = ["1", "2", "3", "4"]
Làm thế nào tôi sẽ làm điều đó?
Tôi muốn gõ một cái gì đó như:
arr[][2]
Nhưng nghĩ nhiều hơn Ruby-như, tôi đã cố gắng:
arr.select{ |r| r[2] }
nhưng điều này trả lại toàn bộ hàng.
Ý của bạn là 'arr.collect {| r | r [2]} '? – waldrumpus
Câu lệnh 'select' của bạn lấy tất cả các hàng mà phần tử thứ ba là sự thật, đó là lý do tại sao bạn không nhận được kết quả mong đợi. –