Ruby - 相当于Python __str __()方法?

时间:2008-09-25 18:11:20

标签: ruby

在Ruby中,是否有可以在Python类上定义的__str__()方法的等价物?

3 个答案:

答案 0 :(得分:15)

答案 1 :(得分:6)

FWIW,inspect可能更像__repr__()而不是__str__()

来自图书馆参考...

repr (自我)

Called by the repr() built-in function and by string conversions (reverse quotes) to compute the ``official'' string representation of an object. If at all possible, this should look like a valid Python expression that could be used to recreate an object with the same value (given an appropriate environment). If this is not possible, a string of the form "<...some useful description...>" should be returned. The return value must be a string object. If a class defines __repr__() but not __str__(), then __repr__() is also used when an ``informal'' string representation of instances of that class is required.

答案 2 :(得分:4)

在核心课程上,它通常是“检查”。

例如:

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>