20 lines
370 B
Ruby
20 lines
370 B
Ruby
class Class
|
|
def my_attr_accessor(*args)
|
|
args.each do |prop|
|
|
# Creating the getter
|
|
self.class_eval("def #{prop}; @#{prop}; end")
|
|
# Creating the setter
|
|
self.class_eval("def #{prop}=(v); @#{prop}=v; end")
|
|
end
|
|
end
|
|
end
|
|
|
|
class Musician
|
|
my_attr_accessor :name, :genre, :instrument
|
|
end
|
|
|
|
m = Musician.new
|
|
m.name = "Norah Jones"
|
|
puts m.name
|
|
|