From: Kevin Smith Date: 2001-02-16T01:33:36+09:00 Subject: [ruby-talk:10908] Re: RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes Guy N. Hurst wrote: >Yukihiro Matsumoto wrote: >> In message "[ruby-talk:10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes" >> on 01/02/15, "Mike Wilson" writes: >> >> |Array#at seems to be most similar, only it just takes 1 argument. Would it >> |be possible to extend that to multiple arguments and for the Hash as well? >> >> Possible. The key is here. >> >> |a.at(0) -> 1 # maybe change to [1]? >> >> For consistency, at(0) might be better to return an array, but it's >> incompatibility, which I don't want to incorporate. >> >> Array#elements? Hash#values? Extending Hash#values to accept a list of keys still seems best to me. >How do the following three or four choices seem to others? > >In considering these options and how they might look, I refer >to my_array and my_hash: > >my_array = ["fred", "joe", "jane"] >my_hash = {"first"=>"fred","second"=>"joe","third"=>"jane"} > >1. #subset >I think that since we can select them and form a new array of values, >using Array#subset and Hash#subset might be relevant. > >my_array.subset(1,2) => ["joe","jane"] >my_hash.subset("second","third") => ["joe","jane"] I could live with this. >2. #selections >Yet another could be Array#selections and Hash#selections: > >my_array.selections(1,2) => ["joe","jane"] >my_hash.selections("second","third") => ["joe","jane"] This doesn't really speak to me. I'm not sure what a "selection" is, so I don't think we should add another term to the language if we don't have to. > >3. #collect_indexes / #select_indexes But the original problem we were trying to solve is that #indexes doesn't return indexes (keys). It returns values. Putting indexes in the name will continue at least some of that confusion. Kevin