0
私はかなり新しいです。メソッド/メソッド呼び出しをエクスポートすることができるかどうかを知りたがっています。 は基本的に、私はこのている:メソッド呼び出しをファイルにエクスポート
class B
def initialize
@bptimer = BP_Timer.new("MyName", method(:sayhello))
end
def sayhello()
msgbox("hello")
end
end
class BP_Timer
def initialize(name = nil, method = nil)
@name = name
@time = 0
@repeats = 0
@start_from = 0
@method = method
@active = false
end
def start()
@active = true
$timers.push(self)
end
end
(Iコードの全てではなく関心のない部分を除去)
基本的に、私は今、後にプッシュされる名前及び方法「BP_Timer」オブジェクトを持っています$ timer配列にファイルに保存し、後でプログラムを再起動するときにロードします。オブジェクトを保存して復元できるようにオブジェクトを分解することは可能ですか?
お返事ありがとうございました!それは確かに私よりも清潔なアプローチのように見えます。私はあなたの答えに小さなフォローアップの質問をすることができますか?私が見るところでは、 "B"オブジェクトへの参照なしに:sayhelloを渡しています。私がそれを読み込むと、クラスbのメソッドsayhelloはどうやって知っていますか?あるいは、メソッド "sayhello"が見つかるまで、すべてのクラスをチェックしますか? – pylon000
いいえ、そうではありません。私はちょうど適切なアプローチがどのように見えるかを共有しました、それは準備ができているスニペットではありません。必要に応じて変更する必要があります。 'B.instance_method(v)'はうまくいくかもしれません。 – mudasobwa
申し訳ありません、ありがとう! – pylon000