title: to_s vs. to_str (and to_i/to_a/to_h vs. to_int/to_ary/to_hash) in Ruby
body: <p>I'm learning Ruby and I've seen a couple of methods that are confusing me a bit, particularly <code>to_s</code> vs <code>to_str</code> (and similarly, <code>to_i</code>/<code>to_int</code>, <code>to_a</code>/<code>to_ary</code>, &amp; <code>to_h</code>/<code>to_hash</code>). What I've read explains that the shorter form (e.g. <code>to_s</code>) are for explicit conversions while the longer form are for implicit conversions.</p>
  
  <p>I don't really understand how <code>to_str</code> would actually be used. Would something other than a String ever define <code>to_str</code>? Can you give a practical application for this method?</p>