【发布时间】:2019-03-14 21:42:40
【问题描述】:
我想打印传递给函数 read.table 的每个参数。我的想法是在 Python 中编写一些简单的装饰器。但是对于R,我不知道该怎么做,我学到的是使用trace()。但是,我不知道如何在 trace 中打印变量。
例子:
trace(f)
a <- "123"
f(a)
untrace(f)
trace()只会输出f(a),但我想知道a的评价。
【问题讨论】:
-
base r 的打印功能会帮助你
-
松散相关:如果您正在谈论覆盖基本功能
read.table以便您知道它何时被使用(无论您是否知道),那么您正在谈论覆盖一个功能在另一个包中,这可能是一个相关链接:stackoverflow.com/a/26647570/3358272。如果您想编写自己的函数并将其用作包装器,但除非您告诉它,否则不会使用它,那么只需编写您自己的函数并使用print或message甚至cat。 -
您可能需要查看my answer to a related question。我认为您可以轻松地调整那里的命令以满足您的需求。
-
首先您要求传递给 read.table 的“路径”。 read.table 没有路径参数。如果您要求重新定义 read.table 函数以发出传递给 read.table 的所有参数,那么它与 Dukemayer 回答的问题重复。
-
谢谢你们的回复。 Dukemayer 的回答与我想要的有关,但是,对于那个帖子,如果我有 myfun(1,d) 其中 d 是一个变量,我该如何打印参数 d 的评估? (例如 d
标签: r debugging trace expression-evaluation