Skip to content

Instantly share code, notes, and snippets.

@yuya-takeyama
Created December 30, 2010 20:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuya-takeyama/760217 to your computer and use it in GitHub Desktop.
Save yuya-takeyama/760217 to your computer and use it in GitHub Desktop.
ArrayLike object in Ruby 1.9.
class ArrayLike
include Enumerable
def initialize(arr)
@arr = arr
end
def count
@arr.count
end
def each
@arr.each do |value|
yield value
end
end
def [](key)
@arr[key]
end
def []=(key, value)
@arr[key] = value
end
end
require_relative 'arraylike'
arr_obj = ArrayLike.new ['foo', 'bar', 'baz']
puts arr_obj.count
arr_obj.each_with_index do |value, key|
puts "#{key}:#{value}"
end
arr_obj[1] = 'hoge'
puts arr_obj[1]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment