如何制作1到25之间的范围,然后只输出偶数(提示:记住模数)?我用这个作为答案:
(1..25).each {|n| print n % 2 == 0}
并打印出布尔值。我希望得到这些数字。我需要在上面的代码中更改什么?
答案 0 :(得分:6)
(1..25).each{|n| puts n if n.even?}
或
puts (1..25).select(&:even?)
答案 1 :(得分:1)
你有点误解了这个条件
(1..25).each {|n| puts n if n % 2 == 0}
答案 2 :(得分:1)
puts (1..25).select {|n| n % 2 == 0}
答案 3 :(得分:0)
puts (1..25).select {|n| n.even?}
答案 4 :(得分:0)
另一种方式:
def print_even(r)
puts ((r.first.even? ? r.first : r.first+1)..r.last).step(2) { |i| puts i }
end
print_even((1..25))
#=> 2
#=> 4
#=> 6
...
#=> 24
print_even((2..26))
#=> 2
#=> 4
#=> 6
...
#=> 26
......和另一个:
even = true
(1..25).each { |i| puts i if (even = !even) }