当前位置:  开发笔记 > 后端 > 正文

如何更改对象的显示方式?

如何解决《如何更改对象的显示方式?》经验,为你挑选了1个好方法。

在此脚本中,我获取用户输入,将其传递给对象,然后将该对象推送到数组中.然后我遍历那个数组:

objects_array = Array.new

class Object
  def initialize(fname)
    @first_name = fname
  end
end

fname = gets.chomp
user_first = Object.new(fname)
objects_array <<  user_first
objects_array.each {|x| print x}

"Tyler"从终端输入了输入,我期待的结果是:

Tyler

但我没有检索到那些结果.而不是对象字符串,我收到内存位置:

#

我无法引用位于数组中的对象的信息.我需要更改什么来接收数组中对象的信息而不是内存位置?



1> spickermann..:

如果没有正确的to_s方法,Ruby无法以一种很好的方式打印Object(以字符串形式出现).如果没有to_s方法,则Ruby的回退是一个内部方法,它只接受类名和对象id.

您需要为to_s模型添加方法:

class Object
  def initialize(fname)
    @first_name = fname
  end 

  def to_s
    @first_name
  end
end

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有