Ruby对象打印出来作为指针 [英] Ruby object prints out as pointer
问题描述
我想创建一个类,它有一个参数的构造函数。当我创建一个对象的新实例时,它返回一个指针。
I'm trying to create a class, which has a constructor that takes a single argument. When I create a new instance of the object, it returns a pointer.
class Adder
def initialize(my_num)
@my_num = my_num
end
end
y = Adder.new(12)
puts y
我做错了什么?
感谢
What am I doing wrong? Thanks
推荐答案
使用 new
在新创建的对象上获取'引用'。 puts
内核方法返回此对象的一些内部ruby信息。如果你想得到关于状态你的对象的任何信息,你可以使用getter方法:
When you use new
method, you get 'reference' on newly created object. puts
kernel method returns some internal ruby information about this object. If you want to get any information about state your object, you can use getter method:
class Adder
def initialize(my_num)
@my_num = my_num
end
def my_num
@my_num
end
end
y = Adder.new(12)
puts y.my_num # => 12
或者,您可以使用attr_reader方法来定义场景后面的几个setter和getter方法:
Or you can use 'attr_reader' method that define a couple of setter and getter methods behind the scene:
class Adder
attr_accessor :my_num
def initialize(my_num)
@my_num = my_num
end
end
y = Adder.new(12)
puts y.my_num # => 12
这篇关于Ruby对象打印出来作为指针的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!