【戻る】 【進む】   目次        43. ブロックを伴うメソッド - ブロック活用1

イテレータ活用1


def graph(from, to, split = 20)
  step = (to - from)/split unless step
  a = []
  n = from
  while n <= to
    a.push yield(n)
    n += step
  end
  min, max = a.min, a.max
  a.each do |x|
    puts " " * Integer((x-min)/(max-min) * 74) + "*"
  end
end
graph(-3.0, 3.0) {|x| x*x*x - 3*x + 1}
graph0.rb
*
             *
                       *
                              *
                                    *
                                       *
                                        *
                                         *
                                        *
                                      *
                                     *
                                   *
                                 *
                                *
                                 *
                                  *
                                     *
                                           *
                                                  *
                                                            *
                                                                          *
graph0-result.txt
 
 


【戻る】 【進む】   目次        43. ブロックを伴うメソッド - ブロック活用1