Quiero puts para devolver @value. El código está abajo:
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 tEsto da como resultado la impresión de solo la identificación del objeto, sin variables.
¿Por qué? ¿Y qué está fallando aquí? ¿Es una cosa de Atom?
puts imprime cada argumento llamando a su método to_s . También espera que el método to_s devuelva una cadena . Si to_s devuelve algo más, ignora ese valor e imprime la clase y la identificación del objeto en su lugar.
En su ejemplo, @value es un número entero. Para arreglar tu código:
def to_s @value.to_s end