sprintf在R中使内部函数静音

尼克赢了

我正在尝试访问使用sprintf在R中调试的代码的内部变量。

sprintf("sprintf OUTSIDE a function: easy as %.2f",pi)
myFunc <- function() {
  sprintf("sprintf INSIDE a function: easy as %.2f",pi)
  print("print still works")
}
myFunc()

这个产量

> sprintf("sprintf OUTSIDE a function: easy as %.2f",pi)
[1] "sprintf OUTSIDE a function: easy as 3.14"
> myFunc <- function() {
+   sprintf("sprintf INSIDE a function: easy as %.2f",pi)
+   print("print still works")
+ }
> myFunc()
[1] "print still works"

我在RStudio中发现了一些更好的调试功能,但我仍然很好奇...

为什么sprintf停止在函数内部工作?

阿克伦

return如果不是最后一行,我们可以使用

myFunc <- function() {
  return(sprintf("sprintf INSIDE a function: easy as %.2f",pi))
   print("print still works")  
 }

或重新排列语句的顺序

myFunc <- function() {
  print("print still works")
 sprintf("sprintf INSIDE a function: easy as %.2f",pi)

  }

myFunc()
#[1] "print still works"
#[1] "sprintf INSIDE a function: easy as 3.14"

如果只需要print,则sprintfprint

myFunc <- function() {
   print(sprintf("sprintf INSIDE a function: easy as %.2f",pi))
   print("print still works")  
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章