làm người đầu tiên câu hỏi Dự án Euler: cách tổng hợp các bội số của 3 và 5 từ 1 đến 1000, tôi đã đưa ra với điều này (khá đơn giản)ruby tiêm với điều kiện trong khối?
sum = 0
1.upto(999) { |i| sum += i if 0 == i%3 || 0 == i%5 }
sum
nhưng tôi nghĩ rằng điều này sẽ làm việc nhưng không, có thể ai đó cho tôi thấy những gì tôi đang làm sai, hoặc tại sao nó không hoạt động?
1.upto(999).inject(0) { |sum, i| sum + i if 0 == i%3 || 0 == i%5 }
cảm ơn!
cảm ơn câu trả lời thay thế. Điều này gần hơn với thiết lập ban đầu của tôi và vì vậy tôi có thể làm theo cách này (dễ đọc hơn đối với tôi), tôi chấp nhận câu trả lời đầu tiên vì lời giải thích về lỗi - 'aha!' thời điểm với tôi đã giúp – Tonys