Rでは、呼び出し関数を終了して値を返す方法がありますか? return()
のようなものですが、親機能からですか?R:呼び出し関数の終了
parent <- function(){
child()
# stuff afterward should not be executed
}
child <- function(){
returnFromParent("a message returned by parent()")
}
stop()
はそういうことをしているようです。私がしたいのはstop()
の小さな置換えを書いて、stop()
がstderr
に書き込むというメッセージを返します。 G5Wの提案後
更新:テストが失敗した場合、私はそれぞれstop()
その結果、チェックの数が多いが、以前のチェックが失敗した場合、後続の条件を評価することができないので、関数が失敗した後に終了しなければなりません1。これを「正しく」実行するには、私が避けたかった巨大なif else
構成を構築しなければなりません。
子にステータスフラグを含む構造体を返させることができます。ステータスが1つの場合、親は続行されます。別のステータスでは、親は終了する – G5W
私はそれが良い考えである方法を見ていない。子関数の親の呼び出しを論理的に不透明にする可能性があります。それは、隠れたgotoの声明のようになります。 @ G5Wの考えは有望に見え、はるかに論理的です。 –
これをやりたい理由を説明するために質問を更新しました。 – chris