読者です 読者をやめる 読者になる 読者になる

Ruby の attr_accessor に対して外部のスコープの変数を渡したかった

どういうことかというと次のような事がやりたかった

attr = :name
class X
    # class 外の変数を attr_accessor に渡したい
    attr_accessor attr
end

[解決]

次のように Module + #include で解決することは出来ました。

attr = :name
X = Class.new.include(Module.new {
    attr_accessor attr
})
x = X.new

x.name = "homu"
x.name # => "homu"

これ、もっとスマートにやる方法はないんですかねぇ。