Не то чтобы я предлагал, что это подходит или каким-либо образом хорошая идея, но вы МОЖЕТЕ осмотреть счетчик и потенциально получить некоторую информацию, которая даст вам подсказку для базового объекта.Это, конечно, вызывает вопрос о том, почему вы хотели бы сделать это ...
a = [1,2,3,4]
=> [1, 2, 3, 4]
e = a.each
=> #<Enumerator: ...>
e.inspect
=> "<#Enumerator: [1, 2, 3, 4]:each>"
a = { :foo => "bar" }
=> {:foo=>"bar"}
e = a.each
=> #<Enumerator: ...>
e.inspect
=> "#<Enumerator: {:foo=>\"bar\"}:each>"
Затем вы можете использовать регулярное выражение, чтобы попытаться выявить информацию о базовом объекте.Вероятно, есть случаи, когда это не будет работать (это работает для диапазонов).Я хотел бы еще раз подчеркнуть, что, вероятно, нет веских причин для этого.