遅延評価のためにパッケージが不明な場合、Rで効率的にデバッグする方法を教えてください。私は基本的なbrowser()
の機能をそのままにしておきたいと思います。testthat package
を使っても機能します。 postで説明されているように、--with-keep.source
は「プロジェクトオプション=>ビルドツール」で私のプロジェクトに設定されています。 遅延評価が使用されているにもかかわらず、package :: function()のデバッグ
myfun <- function(a,b) {return(a+b)}
やスクリプトを含むTestDebug
パッケージを作成し、動作を再現するには
{
browser()
TestDebug::myfun(1,2)
}
example.R
TestDebug::myfun(1,2)
通話
otherpackage::myfun2(1,2)
もカバーされるべき状況。私は状況がすべての "本当の"パッケージで発生すべきだと思いますか?
これは私の例の問題を解決します。より多くのレベルを持つ「本当の」パッケージを持っているとわかりました。 'TestDebug :: myfun(1,2)'は 'otherpackage :: myfun2(1,2)'を呼び出して同じ問題に再び遭遇します。私の質問の編集を参照してください。 – Christoph
あなたの改善された答えは、少なくとも回避策です。それ以上のオプションがないかどうか、私はまだ不思議です。何か、デバッグオプション 'skip_base_functions'のようなものがあります。 – Christoph