Is that semantic difference documented anywhere? I’ve never heard of this before, would love to learn more.
Re:Ruby Type Conversion
by dragonwriter on Friday September 10, 2021 @06:45PM
(#28487729)
The official documentation for the implicit conversion protocol (which to_str is part of, as distinct from to_s) is here:
https://ruby-doc.org/core-3.0.2/doc/implicit_conversion_rdoc...
to_s is documented here:
The former is expected to be pretty imprecise. E.g. if an object can somehow he described with a string it's ok to implement to_s.
But you should only implement to_str if an object can be naturally represented as a String. E.g. if you implement a specialized string class, implementing to_str is fine, while your Person class might reasonably return a persons name from to_s but probably shouldn't implement to_str.