昨夜、私は先進的なルビ言語の機能、すなわちContinuations(callcc)とBindingオブジェクトを考えていました。静的型付けされたoo langagesのバックグラウンド(C#、Java、C++)を持っているので、私は上級者を意味するので、最近ルビーを発見しました。実際のバインディングオブジェクトのルビへの使用
私はこれらのlangages機能の実際の使用が何であるか疑問に思っています。私の経験では、静的型付けされたすべての言語ですべてを行うことができましたが、時にはそれほどスマートではありません。私は、Sam Rubyの素敵な記事を読んでいるContinuationの美しさ/興味を考え出したと思う:http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
まだ、私はBindingオブジェクトで失われている。誰かが実際にバインディングオブジェクトでスマートに行うことができる何かの実例を私に提供することはできますか?
私は長い実行プロセス中に何か問題が起きたときにオブジェクトを初期状態にロールバックすることを考えていましたが、これはBindingオブジェクトで実装できるかどうかわからず、前にオブジェクトを複製することによって処理中に何か問題が生じた場合には、処理して、変更されたオブジェクトをクローンで置き換えます。だから、これは私が考える有効な例ではありません。
ご協力いただきありがとうございます。
ありがとう!これは正しいです!デバッグ機能の実装は、Bindingオブジェクトの1つの使用方法と思われます。私はこのデバッグ機能がpickaxeブックのバインディングの例として文書化されているかどうか疑問に思っています。 Bindingオブジェクトの他の用途を見ることができますか? –
@dhruvこれはかなり滑らかです。私は私のユーティリティパッケージに、putsv(冗長であればputs)のそばに追加すると思います...ありがとう! – Ryanmt