ウィキペディアによると、COMEFROM フロー制御は冗談、判読不能、またはまったく有害であると見なされています。このような機能は、AOP シナリオ (つまり、ロガー呼び出しをメソッドに追加せずにメソッドにロガーを追加する) で非常に役立つと思います。
そのような制御構造が非自明であることのマイナス面は、潜在的な有用性を上回っていますか? 他に考慮すべき欠点はありますか?
このため、この質問をするように促されました。
手始めに、次のいずれかが必要なため、現代の言語では基本的に役に立ちません。
また:
代わりに、より良いアイデアは次のとおりです。
あなたが言及した目的のために、Aspect Oriented Programming (wikipedia) はより組織化されたソリューションのようですcomefrom。別のテキスト単位でメソッドにロギングを追加する方法の例については、動機と基本概念(同書)の下部を参照してください。
十分に動的な言語では、メソッドに「ラップアラウンド」修飾子を使用して、この種の処理を行うことができます。
def do_something
...
end
log :do_something, "Something got done"
この不自然な例では、logマクロによってdo_somethingメソッドが新しいメソッドに置き換えられ、最初に元のdo_somethingメソッドが呼び出され、次にログに何かが書き込まれます。