r - 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
,那么sprintf
用print
myFunc <- function() {
print(sprintf("sprintf INSIDE a function: easy as %.2f",pi))
print("print still works")
}
推荐阅读
- python - Python 正则表达式匹配开始和结束字符串,并且必须包含特定的单词
- python - 有没有更好的方法来比较基本真实值和预测值中的 nan 值?
- android - Gradle 源依赖项 - 无法找到具有 Gradle 路径的模块
- terraform - 如何将数据源从一个模块引用到另一个模块并将其作为变量传递给根模块?
- java - 表达式的类型必须是数组类型但它解析为字符串 | 爪哇
- wordpress - 如何在 WP-postratings 插件中添加“itemReviewed”
- excel-formula - Vlookup返回一个公式?
- django - Django过滤器检查给定日期之间是否有任何其他预订
- python - 查找固定大小的所有唯一组合以达到给定的平均范围
- zurb-foundation - Zurb Foundation 6 显示无法触发事件,然后是关闭事件