私は、class variables are bad in Rubyという記事を見てきました。彼らは、メタクラス(またはシングルトンクラス)の使用を提案しています。これは私がfoo2はとattr_accesor使用する方法はありませんけれどもfooとfoo2はは、基本的に同じであることを理解し、私のサンプルコードRuby:メタクラスとクラス変数
class Joe
class << self # here we're putting methods in Joe's "meta class"
attr_accessor :foo
end
def self.foo2
end
def self.foo2=value
end
end
puts Joe.singleton_methods
です。
私はclass << self syntax
の内容を知りません。何らかの連結が起こっているのですか、それとも何ですか?拡張、継承、猿パッチのようなものですか?
編集(ボーナス):私がここにいる間、ビューヘルパーにデータをキャッシュする方法はありますか?私はこのクラスを使用しようとしました< <自己のものですが、ヘルパーメソッドはアクセサを見つけることができません。
はちょうど私がヘルパークラスVARSにその値をキャッシュするために取得するには、クラスのキャッシングを遮断しなければならないことに気づきました。私が思ったより簡単だった。 –