attr_accessor , :
[...] (@name) [...]
attr_reader:
[...]
, .. attr_accessor attr_reader , .
, " "?
, , , . , . Ruby (, C YARV, Java JRuby) , Ruby:
class Module
def attr_reader(*attrs)
attrs.each do |attr|
define_method(attr) do
instance_variable_get(:"@{attr}")
end
end
end
def attr_writer(*attrs)
attrs.each do |attr|
define_method(:"{attr}=") do |val|
instance_variable_set(:"@{attr}", val)
end
end
end
def attr_accessor(*attrs)
attr_reader(*attrs)
attr_writer(*attrs)
end
end