r - 我可以避免评估内联 Rmarkdown `r code` 块吗?
问题描述
在演示如何使用Suggested
包的小插曲中,我有这样的事情:
if (suggested_package_not_available) {
knitr::opts_chunk$set(eval = FALSE)
}
这意味着尽管Suggested
包不可用,但小插图仍在运行等。它只显示代码,而不是结果。
我可以为内联R
代码 ( `r code`
) 做类似的事情吗?
也许是一个使用正则表达式(a la `r [^`]+`
)在内联代码周围添加两个反引号的钩子,以便显示内联代码而不是评估(这通常会导致错误,因为不再评估块)?
解决方案
一个技巧可能是打印一个字符串或评估表达式:
check_code <- function(expr, available){
if(available){
eval(parse(text = expr))
} else {
expr
}
}
check_code("1+1", TRUE)
check_code("1+1", FALSE)
推荐阅读
- java - 当我填充最后一个字段时,我的应用程序不断停止。代码中没有要审查的错误
- html - 如何修复表格中的下拉菜单被行容器截断
- node.js - 在 GraphQLServer 中进行身份验证和 PubSub 的正确方法
- mysql - MySQL:在三个表中查找彼此相距 X 英尺的 lat lng 的重复项
- python - 我可以在不登录的情况下对登录后的页面执行 GET 请求吗
- c++11 - 为什么在同一个比较模板函数中有两个不同的答案
- database - 如何从laravel在mysql中保存单选按钮值
- python - 使用 shell 脚本检查“diff”命令的输出
- vuejs2 - TypeError:无法读取 Vue2 中未定义的属性“组件”
- qt - QML 中自定义组件“矩形或项目”的自动 KeyNavigation.tab