私は本当にRubyを初めて使っています。そして新しく - 16時間未満でしたが、私の上司はRubyのコードを追加しました。しかし、私はそれが1つの巨大なファイルであり、モジュール化されていないことが分かったので、私はそれをきれいにすることに決めました。私はいくつかのファイル/クラス(一般的に言えば、ファイルごとに1つのクラス)に分割してしまったので、それを再び一緒にするために一緒につなぎ合わせるのに問題があります。もともとはすべてが同じクラスに属していたので、呼び出しがうまくいっていましたが、それは醜く見えました。私は、このコードが完了する前にはるかに大きくなるので、これを避けたい。別のクラスの中にあるクラスからインスタンス変数にアクセスするには
私の主な問題は、(明らかに簡略化され、)次のようになります。
class TestDevice
def initialize
@loghash = { }
....
end
end
class Log
def self.msg(identifier, level, section, message)
...
@loghash[identifier] = { level => { section => message }}
...
end
end
device = TestDevice.new
はその後、それは他のクラスのメソッドに出て呼び出し、それらのクラスメソッドは、そのログのニーズに合わせてクラスのログに戻って参照します。もちろん、Logはそのハッシュの情報をログするために何らかの形で "device.loghash"にアクセスする必要があります。しかし、私はどのようにして、 "loghash"の内容をすべてのメソッドに渡すことができないのかを理解することができないので、それらを渡すことができ、値を元のポイントに戻してログに記録することができます最後に、それは本当に不器用で厄介なようです。
私は本当に何かが欠けていると思っています。
「これは実質的にattr_accessorがバックグラウンドで行うこと」です。 –
そうです。それをキャッチするためにありがとう。 – Chuck