必要に応じて実行時に再度評価する必要があるコード ブロックがあります。
class Test
def initialize
@some_block = nil
end
def make_initial_attributes(&block)
# do stuff with the supplied block, and then store the block somewhere
# for later
end
def rebuild_attributes
# grab that stored block and evaluate it again
end
end
起動時に作成される Test オブジェクトがありますが、その後、プログラム全体で、起動時に渡したブロックを実行して、それらを「更新」する必要がある場合があります。
おそらくプログラムの状態が変化したため、これらの Test オブジェクトは喜んで一連のことをチェックし、値を更新する対象を決定できるようにします。もちろん、ブロックは私が書くものなので(私は思う)、私が計画していないことを彼らができるようにするべきではありません...
例は少し奇妙です。基本的に、コードのブロック (これは単なる Proc だと思います) を保存し、後で再評価することは可能ですか。