Делегирование pretty_print to to_s работает как положено:
class R < Range
def pretty_print(pp)
pp.text(to_s)
end
end
# => :pretty_print
r = R.new(1, 10)
#=> 1..10
Но делегирование inspect приводит к неожиданному представлению:
class R < Range
def pretty_print(pp)
pp.text(inspect)
end
end
# => :pretty_print
r = R.new(1, 10)
#=> (... .. ...)
Почему?