>>>>> "M" == Marko Schulz <in6x059 / public.uni-hamburg.de> writes: M> But this could be solved by an educated guess: If an object of a M> subclass of Integer is used, create an array, otherwise a hash. You can't do this. Just an example, for bdb you have 2 classes BDB::Recno hash like but indexed by Integer. It *really* work like an Hash, because when you delete a key, Berkeley DB don't renumber the keys. BDB::Recnum array like (indexed by Integer). In this case (with a special flag when you open the file) Berkeley DB renumber the keys when you delete a key, This mean that it *really* work like an Array ruby give me the possibility to have these 2 interfaces because I can write bdb = {} bdb[0] = 'a' bdb = [] bdb[0] = 'a' Guy Decoux