raja / cs.indiana.edu (Raja S.) writes:

> 1.  is there a builtin way to print an array so that it looks like an array?
>     a=[1,2,3,4]
>     print??? a        # should print [1,2,3,4]

#inspect returns a String representation of the array or hash

     a = [1,2,3,4]
     a.inspect		# => [1, 2, 3, 4]
     h = { 1 => "one", 2 => "two", 3 => "three" }
     h.inspect		# => {1=>"one", 2=>"two", 3=>"three"}


> 2.  Much to my surpise array (or hash) access with an invalid index
>     (or key)

      hash#fetch raises IndexError, but Array methods are more forgiving.

>     But on the occasion when direct element access is needed what is
>     the idiomatic way of avoiding out of bound errors in arrays
>     (equivalently in hashes)?  (Doing apriori index/key validation
>     checks? ... seems way too cumbersome ...)

I'm not sure there is one for Arrays, but you can always fix
that. You could, for example, extend the built-in [] and []= methods
for arrays to check their indices. However, that might well break
existing library code.

Sorry

Dave