Hi,

In message "Re: Proposal: Array#to_h, to simplify hash generation"
    on 03/07/20, Gavin Sinclair <gsinclair / soyabean.com.au> writes:

|I thought it sounded familiar, but didn't see an RCR.

I don't remember the RCR number.  Search for "hashify".

|What don't you like about #to_h?

I just didn't feel we had consensus.  Besides, "to_h" you've proposed
work for arrays with specific structure (assoc like).

|#to_hash is fine by me too, but I don't really know the nuances of
|to_s/to_str, to_a/to_ary, ...

Longer versions are for implicit conversion.  An object that has
"to_str" works like a string if it's given as an argument.

Note we have "to_hash" already.  But this would not be the reason for
"to_h".  We have "to_io" without the shorter version, for example.

|>   * what if the original array is not an assoc array (array of arrays
|>     of two elements).  raise error? ignore?
|
|Raise error.  #to_h is clearly a method to be used with care.  People
|are unlikely to call it on random objects.  Of course, [1,2,3,4].to_h
|could be the equivalent to Hash[1,2,3,4].  But then there's the corner
|case: [ [1,2], "x", [7,8], "g" ].to_h.
|
|I think I would insist on the input being an assoc array.

TypeError? or ArgumentError?

I just remembered that I thought Hash[ary] might be the better
solution.  I'm not sure why I didn't implement it.  I have very loose
memory.

							matz.