r - 在创建函数时将函数参数默认值设置为变量值
问题描述
我可以在创建时将参数的默认值设置为变量的值来创建函数吗?
Something like,
a=1
fn = function(arg1 = a) {
print (arg1+1)
}
fn
会显示
function(arg1 = 1) {
print (arg1+1)
}
解决方案
功能帮助bquote
。这是我发现对我有用的东西。
它对我来说并不直截了当,但它确实有效。
a=1
fn <- eval(bquote( function(arg1 = .(a)) {
print (arg1+1)
} ))
fn
fn(3)
eval(bquote())
并且.(a)
是重点。
我找到了方法,但我认为我没有完全理解它。因此,任何人都可以帮助我了解它是如何工作的,我很乐意将其作为答案。
推荐阅读
- asp.net-core - 获取 Input 标签内 DropDownList 的值
- amazon-web-services - 将 Tableau Server 安装为 IaC 的最佳实践
- python-3.x - odoo 通过 xmlrpc 创建数据库
- python - 带有退出选项的 Python 3 菜单
- python - 使用 Pandas 进行过滤、转置和连接
- python - Python io:可以从字节创建 BufferedReader 吗?
- reactjs - 用于 TypeScript React 开发的 NeoVim
- python - mpmath 矩阵的块矩阵构造?
- android - Android studio - 从 dll 文件或 lib 文件调用函数
- php - {{ }} 在 laravel 刀片文件中的 for 循环内不起作用