--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Invokes <em>block</em> with the sequence of numbers starting at <em>num</em>, incremented by <em>step</em> on each call. The loop finishes when the value to be passed to the block is greater than <em>limit</em> (if <em>step</em> is positive) or less than <em>limit</em> (if <em>step</em> is negative). If all the arguments are integers, the loop operates using an integer counter. If any of the arguments are floating point numbers, all are converted to floats, and the loop is executed <em>floor(n + n*epsilon)+ 1</em> times, where <em>n = (limit - num)/step</em>. Otherwise, the loop starts at <em>num</em>, uses either the <tt>&lt;</tt> or <tt>&gt;</tt> operator to compare the counter against <em>limit</em>, and increments itself using the <tt>+</tt> operator.
- !ruby/struct:SM::Flow::VERB 
  body: "   1.step(10, 2) { |i| print i, &quot; &quot; }\n   Math::E.step(Math::PI, 0.2) { |f| print f, &quot; &quot; }\n"
- !ruby/struct:SM::Flow::P 
  body: <em>produces:</em>
- !ruby/struct:SM::Flow::VERB 
  body: "   1 3 5 7 9\n   2.71828182845905 2.91828182845905 3.11828182845905\n"
full_name: Numeric#step
is_singleton: false
name: step
params: |
  num.step(limit, step ) {|i| block }     => num

visibility: public
