当前位置:  开发笔记 > 编程语言 > 正文

如何从Ruby中的打印对象中停止类初始化程序?

如何解决《如何从Ruby中的打印对象中停止类初始化程序?》经验,为你挑选了2个好方法。

每当我从IRB实例化一个新方法时,它会输出一些我认为不必要的东西.这是预期的行为吗?我可以阻止它发生吗?

例如,以下代码

class Box
  def initialize(index)
    @index = index
  end
end

box = Box.new(5)

将打印

 #

随着更复杂的东西,我在终端中获得了更多.



1> Simone Carle..:

这是预期的,因为默认情况下会irb打印出最新评估的结果.

您可以使用noecho或附加;nil打印输出nil.

box = Box.new(5); nil



2> ndnenkov..:

这是预期的行为.irb是REPL(读取,评估,打印循环).这意味着它将打印评估您输入的每个连续表达式的结果.调用类的构造函数的结果是新对象.分配结果是指定的内容.

您可以覆盖Object#inspect类的方法来更改正在打印的内容:

class Box
  def initialize(index)
    @index = index
  end

  def inspect
    "A box with index #{@index}"
  end
end

box = Box.new(5)

# => >A box with index 5

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