Block as the third parameter : Method Arguments « Method « Ruby

Block as the third parameter

def zeno(start, stop)
  distance = stop - start
  travelled = start
  while travelled < stop and distance > 0
    yield travelled
    distance = distance / 2.0
    travelled += distance

steps = 0
zeno(0, 1) { steps += 1 }
steps                                                  # => 54


Related examples in the same category

1.Passing Arguments to a Method
2.The parentheses in the call are optional
3.Passing Data to Methods with or without parenthesis
4.Function with two parameters
5.Method with three parameters
6.Pass full arrays to methods in Ruby, and return arrays as well
7.Default Arguments
8.Call method from parameter
9.Writing a Method that Accepts a Block
10.Raise exception based on parameter type
11.raise ArgumentError