Nếu tôi có một vòng lặp nhưCho cuối của một vòng lặp .each trong ruby
users.each do |u|
#some code
end
đâu người dùng là một hash của nhiều người dùng. Có gì logic có điều kiện dễ dàng nhất để xem nếu bạn đang ở trên người sử dụng cuối cùng trong băm người sử dụng và chỉ muốn thực thi mã cụ thể cho người dùng cuối cùng nên cái gì như
users.each do |u|
#code for everyone
#conditional code for last user
#code for the last user
end
end
Cảm ơn
Bạn có thực sự có nghĩa là băm không? Đặt hàng trên một băm không phải luôn luôn đáng tin cậy (tùy thuộc vào cách bạn thêm những thứ vào băm và phiên bản ruby bạn đang sử dụng). Với thứ tự không đáng tin cậy, mục 'cuối cùng' sẽ không nhất quán. Mã trong câu hỏi và câu trả lời bạn nhận được phù hợp hơn với một mảng hoặc có thể đếm được. Ví dụ, băm không có phương thức 'each_with_index' hoặc' last'. – Shadwell
'Hash' trộn trong Enumerable, do đó, nó có' each_with_index'. Ngay cả khi các khóa băm không được sắp xếp, loại logic này luôn xuất hiện khi hiển thị chế độ xem, trong đó mục cuối cùng có thể được hiển thị khác nhau bất kể nó có thực sự là "cuối cùng" hay không. – Raphomet
Tất nhiên, khá đúng, hashes có 'each_with_index', xin lỗi. Vâng, tôi có thể thấy rằng nó sẽ xuất hiện; chỉ cố làm sáng tỏ câu hỏi. Cá nhân câu trả lời tốt nhất cho tôi là sử dụng '.last' nhưng điều đó không áp dụng cho một băm chỉ là một mảng. – Shadwell