In Files

  • irb/easter-egg.rb

Parent

Methods

IRB::Canvas

Public Class Methods

new((h, w)) click to toggle source
 
               # File irb/easter-egg.rb, line 32
def initialize((h, w))
  @data = (0..h-2).map { [0] * w }
  @scale = [w / 2.0, h-2].min
  @center = Complex(w / 2, h-2)
end
            

Public Instance Methods

draw() click to toggle source
 
               # File irb/easter-egg.rb, line 55
def draw
  @data.each {|row| row.fill(0) }
  yield
  @data.map {|row| row.map {|n| " ',;"[n] }.join }.join("\n")
end
            
line((x1, y1), (x2, y2)) click to toggle source
 
               # File irb/easter-egg.rb, line 38
def line((x1, y1), (x2, y2))
  p1 = Complex(x1, y1) / 2 * @scale + @center
  p2 = Complex(x2, y2) / 2 * @scale + @center
  line0(p1, p2)
end