RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes 
Author Message
 RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes

Quote:

>I have to admint `indexes' is not good name, since its behavior
>(returning values corresponded to keys/indexes) not consistent with
>one of `index' (returning key/index of value).

>I decided to declare them obsolete and give proper new names in the
>future (1.7 and forth coming 1.8/2.0).  Do you have any idea of good
>name for them?

Excellent.

My initial thought would be to merge that
functionality into the existing Hash#values
method. If you pass keys to #values, you would
get those values. If you pass nothing, you would
get all values.

If that's not practical, then values_of seems
reasonable.

Kevin



Mon, 04 Aug 2003 00:34:22 GMT  
 RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes

Quote:

>|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.

Thanks. at(0) returns an array element in every
language I've seen, so I think it's important for
it not to return an array.

Kevin



Tue, 05 Aug 2003 00:23:32 GMT  
 RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes

Quote:


>> In message "[ruby-talk:10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes"

>> |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.

Quote:
>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.

Quote:
>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.

Quote:

>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



Tue, 05 Aug 2003 00:33:36 GMT  
 RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes
Hi,

In message "[ruby-talk:10908] Re: RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes"

|>> Array#elements? Hash#values?
|
|Extending Hash#values to accept a list of keys
|still seems best to me.

Hash#values sounds good to me too.
How about Array?  Array#values?

And how do you think about extending Hash#keys too?
Or extending Hash#index/Array#index to accept multiple arguments?

                                                        matz.



Tue, 05 Aug 2003 01:57:23 GMT  
 RubyChangeRequest #U002: new proper namefor Hash#indexes, Array#indexes


#
# |>> Array#elements? Hash#values?
# |
# |Extending Hash#values to accept a list of keys
# |still seems best to me.
#
# Hash#values sounds good to me too.
# How about Array?  Array#values?

FWIW, I prefer 'values' for its consistency with general comp. sci.
and math terminology.  Besides, isn't Ruby a values-oriented language,
expression-wise? :-)

# And how do you think about extending Hash#keys too?  Or extending
# Hash#index/Array#index to accept multiple arguments?

FWIW, I would like to see something like that.

LISP: The lamda machine language of AI.
Ruby: The natural OO language of AI.

Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)



Tue, 05 Aug 2003 09:14:30 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. RubyChangeRequest #U002: new proper nameforHash#indexes, Array#indexes

2. Summary: RCR #U002 - proper new name fo r indexes

3. Hash#index !==> Hash#indexes

4. Hash#index !==> Hash#indexes

5. RubyChangeRequest #U002

6. finding 1d index in 2d array of indices

7. Hash.new(Hash.new) doesn't use Hash.new as default value

8. Index Values of an Array inside a Cluster inside an Array

9. array as index to array

10. how to access arrays with variable for array names and index

11. i search informations about hash code and indexed files

12. indexing of dynamic code with hashing or binary search

 

 
Powered by phpBB® Forum Software