Ruby-等效于Python __str __()方法?
时间:2020-03-06 14:44:20 来源:igfitidea点击:
在Ruby中,我们是否可以在Python类上定义__str __()
方法的等效项?
解决方案
在核心课程上,通常是"检查"。
例如:
irb(main):001:0> puts "array is: #{[1,2,3].inspect}" array is: [1, 2, 3] => nil irb(main):002:0> puts "array is: #{[1,2,3]}" array is: 123 => nil irb(main):003:0>
我们可以使用to_s。
http://briancarper.net/2006/09/26/ruby-to_s-vs-to_str/
FWIW,检查可能更像是__repr __()
而不是__str __()
。
从图书馆参考...
代表(自我)
`由repr()内置函数和字符串转换(反引号)调用以计算对象的正式''字符串表示形式。如果可能的话,这应该看起来像一个有效的Python表达式,可以用来重新创建具有相同值的对象(给定适当的环境)。如果无法做到这一点,则应返回形式为" <...一些有用的说明...>"的字符串。返回值必须是一个字符串对象。如果一个类定义了__repr __()而不是__str __(),则当需要该类实例的
非正式''字符串表示形式时,也使用__repr __()。