Files
cs-252/lab19/eval/class-eval-example.rb
2026-04-29 11:33:23 -07:00

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