Tôi chỉ đang học Ruby nên xin lỗi nếu đây là quá mới đối với xung quanh đây, nhưng tôi không thể giải quyết vấn đề này từ cuốn sách cái cuốc (có lẽ chỉ là chưa đọc kỹ). Dù sao, nếu tôi có một mảng như vậy:
arr = [1,2,3,4,5]
... và tôi muốn nhân mỗi giá trị trong mảng với 3, tôi đã thực hiện như sau:
arr.each {|item| item *= 3}
... sẽ không mang lại cho tôi những gì tôi muốn (và tôi hiểu tại sao, tôi không sửa đổi chính mảng).
Những gì tôi không nhận được là làm thế nào để sửa đổi mảng ban đầu từ bên trong khối mã sau trình lặp. Tôi chắc rằng điều này là rất dễ dàng.