Array#step
hack rubyシリーズ...
続けて
class Array
def step(n)
if block_given?
(0..size).step(n) {|i| yield self[i]}
else
raise ArgumentError
end
end
end
[1,2,3,4,5].step(2) do |i|
puts i
end
# => 1, 3, 5
続けて
class Float
def four_remove_and_five_pass(n)# ... poor English..
wei = Array.new(n,10).inject(1){|sum,i| sum*i}
(self * wei).round / wei.to_f
end
end
puts 1.5555.four_remove_and_five_pass(3)# 3 =>1.55