gpt4 book ai didi

r - 如何使用解析的变量打印函数体

转载 作者:行者123 更新时间:2023-12-04 10:14:56 24 4
gpt4 key购买 nike

假设我有一个函数接受一些参数 k并返回另一个接受参数 n 的函数但使用 k在其函数体中。

makeFn <- function(k) {
function(n){
rep(k,n)
}
}

five <- makeFn(5)

five(3)
# [1] 5 5 5

body(five)
# {
# rep(k, n)
# }

如何打印 five 的正文以便它显示 rep(5,n)而不是 rep(k,n) ?

最佳答案

一种选择是结合 evalbquote .

makeFn <- function(k) {
eval(bquote(function(n) rep(.(k),n)))
}

five <- makeFn(5)
body(five)
# rep(5, n)
.()符号说明 bquote评估括号中的任何内容,然后将结果包含在表达式中。

关于r - 如何使用解析的变量打印函数体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com