私はRubyを初めて使用します。そして、新しいことによって-16時間未満ですが、上司から追加するRubyコードがいくつか提供されました。しかし、それは1つの巨大なファイルであり、モジュール式ではないことがわかったので、クリーンアップすることにしました。これで、いくつかのファイル/クラス(一般的には、ファイルごとに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」の内容をすべてのメソッドに渡す以外に、それを実現する方法を理解することはできません。そうすれば、メソッドはそれを渡し、値を元のポイントに戻し、ログに記録することができます。最後に、しかしそれは本当に不器用で厄介なようです。
私は本当に何かが足りないことを望んでいます。