在R语言中,是否可以在每个命令之前运行一段代码?
只是我的用例的一个例子(不是实际的用例)。在每个命令之前打印hi
> print(2)
> print(1)
应给予
hi
2
hi
1
因此,应该有一个函数beforeTaskCall(print("hi"))
,它将在每行之前调用print("hi")
。
我发现了addTaskCallback,它会在每个命令后运行一个函数。
在R语言中,是否可以在每个命令之前运行一段代码?
只是我的用例的一个例子(不是实际的用例)。在每个命令之前打印hi
> print(2)
> print(1)
应给予
hi
2
hi
1
因此,应该有一个函数beforeTaskCall(print("hi"))
,它将在每行之前调用print("hi")
。
我发现了addTaskCallback,它会在每个命令后运行一个函数。
2条答案
按热度按时间g52tjvyc1#
要在命令之前运行一段代码,您可以重新定义一元运算符并将其放置在命令之前。
其他可能的一元运算符是
-
、+
、?
或!
。或者使用二元运算符,以防它可以放在函数之后
另一种选择是将命令存储为字符串并迭代它们。
或者使用
addTaskCallback
,它在之后调用函数,但也许它可以在这个设置中使用。3hvapo4f2#
方法一:
trace
使用
trace
将任意R表达式(R代码)插入到函数内的任何位置。使用这种方法,您可以使用
trace
的tracer
,exit
,at
参数在函数内部的任何位置插入代码,甚至可以使用edit = TRUE
参数交互式编辑函数:开头:
结束:
内部:
互动:
方法二:基于
body(f)
构建新函数