__repr__
python 的功能很自然,因为在自动使用print OBJECT时会调用它.
它有红宝石等价吗?我认为这是to_s,但是,我有p OBJECT似乎没有调用to_s方法.
我弄错了,p OBJECT似乎调用to_s方法如下.我从我对其他问题的答案中得到了一些提示.- Ruby的to_s方法问题(来自Axe第2版)
# 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
Run Code Online (Sandbox Code Playgroud)
Pra*_*are 12
obj.inspect => string
Run Code Online (Sandbox Code Playgroud)
返回包含人类可读表示形式的字符串obj
.如果未覆盖,则使用该to_s
方法生成字符串.
[ 1, 2, 3..4, 'five' ].inspect #=> "[1, 2, 3..4, \"five\"]"
Time.new.inspect #=> "Wed Apr 09 08:54:39 CDT 2003"
Run Code Online (Sandbox Code Playgroud)
obj.to_s => string
Run Code Online (Sandbox Code Playgroud)
返回表示的字符串obj
.默认to_s
打印对象的类和对象id的编码.作为特例,作为Ruby程序的初始执行上下文的顶级对象返回"main".
归档时间: |
|
查看次数: |
3556 次 |
最近记录: |