製図 (svg/ruby) のソリューションに取り組んでいます。四角形を操作したいのですがadd!
、このクラスにメソッドがあります。
class Rect
def add!(delta)
@x1+=delta
... # and so on
self
end
end
add
を返すがRect
、操作しないメソッドも必要ですself
。
def add(delta)
r=self.dup/clone/"copy" # <-- not realy the 3 and no quotes, just in text here
r.add! delta
end
dup
私のことはしclone
ませんが:
def copy; Marshal.load(Marshal.dump(self)); end
します。
このような基本的な機能がプレーンな Ruby に存在しないのはなぜですか? add
逆に and 、仕事をさadd!
せて、それを呼び出すことができるとは言わないでください。add
add!