def reverse(data)
Enumerator.new do |enum|
current = data.length
while current >= 1
current -= 1
enum.yield data[current]
end
end
end
for c in reverse("string") do
print(c)
end
# printed: gnirts
puts
for i in reverse([1, 2, 3]) do
print(i, ", ")
end
# printed: 3, 2, 1