通過在O'reilley書類部分工作,他們似乎表明下面應該工作:NoMethodError O'Reilley例如
class Point
def initialize(x,y)
@x, @y = x, y
end
def x
@x
end
def y
@y
end
def to_s
"(#@x,#@y)"
end
end
p = Point.new(5,0)
q = Point.new(p.x*2, p.y*2)
q.x = 0
puts q.x
從理論上講,我期待它打印0,而不是我的編譯器在嘗試執行q.x = 0
時返回NoMethodError
。有什麼東西會跳出來嗎?
'「(#@ x,#@ y)」'應該是「」(#{@ x},#{@ y})「'。 – steenslag