R:创建一个函数,以打印执行该函数的行号

时间:2019-03-19 20:31:27

标签: r

我在调试R中的某些代码时遇到问题...因此,我认为在代码中放入打印语句以查看哪个函数在错误发生之前正在运行对于我来说可能是一个好习惯。因此,我认为一个更好的功能是在打印语句中包括当前正在执行的行。这是我正在考虑的函数示例:

custom_print <-  function(output_str){
     line_number <- line_number_function()
     print(paste0(line_number, " - ", output_str))
}
  

然后我可以在我的custom_print("Function A running")中使用   码。我该如何实现?我正在寻找一个   line_number_function()返回行号(当   代码被解释了!)。

编辑(更多详细信息):

这是我将如何使用它的一个具体示例

# test.R

# At the beginning of the R script I have this:
custom_print <-  function(output_str){
     line_number <- line_number_function()
     print(paste0(line_number, " - ", output_str))
}

# ... some code here ...

# example function
# NOTE: assume this is line 42 in my code 
add_stuff <-  function(x, y){
     custom_print("Hey I'm adding !")
     return(x+y)
}

# use my adding function
add_stuff(1, 1)

具体而言,我将使用以下命令从Rstudio服务器中的控制台运行该命令:

system('Rscript test.R')
我相信

与从Unix / Linux命令行运行它相同。然后我会期望这样的输出:

[1] 44 - Hey I'm adding !

这里的44是解释代码的功能所在的行。

0 个答案:

没有答案