Tôi muốn sử dụng một for-each và một bộ đếm:Truy cập tự động trong Ruby cho mỗi?
i=0
for blah in blahs
puts i.to_s + " " + blah
i+=1
end
Có cách nào tốt hơn để làm điều đó?
Lưu ý: Tôi không biết nếu blahs
là mảng hoặc băm, nhưng phải làm blahs[i]
sẽ không làm cho nó hấp dẫn hơn nhiều. Tôi cũng muốn biết cách viết i++
trong Ruby.
Về mặt kỹ thuật, câu trả lời của Matt và Squeegy đã được đưa ra trước, nhưng tôi đưa ra câu trả lời tốt nhất cho paradoja để lan truyền các điểm trên SO. Ngoài ra câu trả lời của ông có ghi chú về các phiên bản, mà vẫn còn có liên quan (miễn là Ubuntu 8.04 của tôi đang sử dụng Ruby 1.8.6).
Nên sử dụng puts "#{i} #{blah}"
, gọn gàng hơn rất nhiều.
Không có toán tử tăng trong Ruby. Các n + = 1 bạn đã viết lên có tương đương gần nhất. Nó sẽ phải được cú pháp đường cho n + = 1, mà chính nó là viết tắt của n = n + 1. Ý tưởng của ++ đã bị từ chối vì nó che giấu sự thật rằng bạn đang gán lại biến. http://rubyurl.com/Dsb1 – Chuck
Rất tốt! Cảm ơn Chuck. Tôi đã buộc phải họC++ i và i ++ trong Java, vì vậy tôi chỉ nghĩ rằng nó sẽ luôn luôn ở đó. –