在ruby中,什么是等价的?

2024-10-01 13:44:20 发布

您现在位置:Python中文网/ 问答频道 /正文

python的__repr__函数很奇特,因为它是在自动使用print对象时调用的。在

它是否有一个ruby等价物?我以为是tou-s,但是,我的p对象似乎没有调用to-u-s方法。在

已添加

我出错了,p OBJECT似乎调用了如下方法。 我从另一个问题的答案中得到了一些提示。-Ruby's to_s method question (from Axe book 2nd edition)

# Sample code from Programing Ruby, page 24
class Song
  def to_s
    "Song"
  end
end

class Songson < Song
  def to_s
    super + "<Songson>"
  end
end

song = Songson.new()
p song

Tags: to对象方法函数fromsongdefclass
2条回答
  obj.inspect => string

返回包含obj的可读表示形式的字符串。如果不重写,则使用to_s方法生成字符串。

^{pr2}$

 obj.to_s => string

返回表示obj的字符串。默认的to_s打印对象的类和对象id的编码。作为特殊情况,作为Ruby程序初始执行上下文的顶级对象返回“main”

source

p对象使用#inspect。在

相关问题 更多 >