If it’s important, why not sort them first:
self.methods.sort.collect { … }
Because I’m interested to the methods’ definition order inside the class
not to the alphabetical order of methods’ name. The names init_1,
init_2, etc. were just an example.
If it’s important, why not sort them first:
self.methods.sort.collect { … }
Because I’m interested to the methods’ definition order inside the
class not to the alphabetical order of methods’ name. The names
init_1, init_2, etc. were just an example.
Andrea
I’d not be surprised to hear (from someone who actually knows rather
than speculates that the methods are stored in a hash and there
is no definite order to them. As for the order in which they were
defined, that’s just the order in which they were encountered.
When I run the code from your first message:
rab:ruby $ ruby init_2.rb
Method init_3 called!
Method init_4 called!
Method init_5 called!
Method init_6 called!
Method init_1 called!
Method init_2 called!
It’s not even the same order as yours (although it is consistent when
I run it multiple times). If the lookup is really hash-based,
defining other methods could “shuffle” these around if the underlying
hash table was expanded. (I’m using “hash” in its algorithmic sense,
not a Ruby class.)