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




继续hack
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


你可能感兴趣的:(prototype,F#,J#,Ruby)