# File lib/map.rb, line 751 def Map.collection_has?(collection, key, &block) has_key = case collection when Array key = (Integer(key) rescue -1) (0...collection.size).include?(key) when Hash collection.has_key?(key) else raise(IndexError, "(#{ collection.inspect })[#{ key.inspect }]") end block.call(key) if(has_key and block) has_key end