Commit 97e5ab22 authored by Yukihiro Matsumoto's avatar Yukihiro Matsumoto

add Module#{attr,attr_reader,attr_writer,attr_accessor}; close #257

parent ea81146a
class Module
# 15.2.2.4.13
def attr_reader(*names)
names.each{|name|
define_method(name){self.instance_variable_get(name)}
}
end
# 15.2.2.4.14
def attr_writer(*names)
names.each{|name|
aset = (name.to_s+"=").intern
define_method(aset){|v|self.instance_variable_set(name,v)}
}
end
# 15.2.2.4.12
def attr_accessor(*names)
attr_reader(*names)
attr_writer(*names)
end
# 15.2.2.4.11
def attr(name)
attr_reader(name)
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment