Ruby对象打印出来作为指针 [英] Ruby object prints out as pointer

查看:327
本文介绍了Ruby对象打印出来作为指针的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个类,它有一个参数的构造函数。当我创建一个对象的新实例时,它返回一个指针。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆