[英]Does Atom break ruby to_s override?
我想讓 put 返回 @value。 代碼如下:
class Tile
def initialize(value, given=false)
@value = value
@given = given
end
def newValue(value)
@value = value if @given == false
end
def to_s
@value
end
end
t = Tile.new(5)
t.newValue(6)
debugger
puts t
這導致僅打印 object id,沒有變量。
為什么? 這里出了什么問題? 它是 Atom 的東西嗎?
puts
通過調用其to_s
方法打印每個參數。 它還期望to_s
方法返回一個字符串。 如果to_s
返回其他內容,它會忽略該值並打印對象的 class 和 id。
在您的示例中, @value
是 integer。要修復您的代碼:
def to_s
@value.to_s
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.