将 pretty_print 委派给 to_s 可以正常工作:
class R < Range
def pretty_print(pp)
pp.text(to_s)
end
end
# => :pretty_print
r = R.new(1, 10)
#=> 1..10
但是委派给检查会产生意外的表示:
class R < Range
def pretty_print(pp)
pp.text(inspect)
end
end
# => :pretty_print
r = R.new(1, 10)
#=> (... .. ...)
为什么?