r - 创建使用环境变量作为默认值的 RStudio 连接
问题描述
我正在尝试根据此文档将连接片段添加到 bigrquery 包:
https://db.rstudio.com/advanced/snippets/
我想将项目名称默认为这样的环境变量:
library(bigrquery)
con <- dbConnect(
bigquery(),
project = "${1:Project=Sys.getenv('BIGQUERY_PROJECT')}"
)
不幸的是,这不起作用,因为Sys.getenv('BIGQUERY_PROJECT')
没有评估。
更新 例如@Jozef的例子我得到以下代码生成:
library(bigrquery)
con <- dbConnect(
bigquery(),
project = "`r eval({Sys.getenv('BIGQUERY_PROJECT'))`"
)
更新 2
这种作品,但看起来不太好:
library(bigrquery)
con <- dbConnect(
bigquery(),
project = paste0("${1:Project=", Sys.getenv("BIGQUERY_PROJECT"), "}")
)
解决方案
不确定这是否正是您想要的,但r eval({ })
如果我正确理解您的目的,您可以在反引号中使用。
带有“用户”环境变量的示例:
snippet envvar
library(bigrquery)
con <- dbConnect(
bigquery(),
project = "${1:Project=`r eval({Sys.getenv('USER')})`}"
)
触发时将为我的用户(jozef)执行此操作:
另外,我写了一篇文章,其中包含更多高级片段使用的示例。
推荐阅读
- jenkins - 我可以在 Jenkins CI 上加快 Gradle 守护进程的启动速度吗?
- gradle - Gradle 和 Gradlew 的问题
- c# - Visual Studio, Windows Forms C# 打开一个文件
- arrays - 在 Smalltalk 中,如何打印数组的特定元素?
- javascript - 来自节点模块的 JEST 模拟
- .htaccess - .htaccess 同时阻止用户代理和 IP 不起作用
- shiny - DT 表中的反应性着色
- wordpress - 前端的 WordPress 站点,后端的另一个 WP
- php - Lighthouse php laravel - 枚举和分页器不起作用
- ios - Swift if let 语句导致 <
> 而不是自定义对象