55.3. Reduce Code to the Essence

class Point
    attr_reader :x, :y
    def initialize(x,y)
        @x, @y = x, y
    end
end
Point.new 24, -33
# …
Point.new -75, 64
# …
Point.new 40, -63
# …
Point.new 47, -78
# …
Point.new -91, 65
class Numeric
    def at(y)
        Point.new self, y
    end
end
24.at(-33)
# …
-75.at(64)
# …
40.at(-63)
# …
47.at(-78)
# …
-91.at(65)
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .