首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R在函数内部定义函数属性

R在函数内部定义函数属性
EN

Stack Overflow用户
提问于 2017-09-16 23:36:12
回答 1查看 89关注 0票数 2

是否有可能在函数内部定义一个函数属性?

它可以在外部定义,但在函数内部是否有自引用的符号?

代码语言:javascript
复制
f2 = function(x) {
   x/2
   attr(thisObject(),'type')='half' #something like thisObject()
}

在函数之外很容易做到这一点:

代码语言:javascript
复制
attr(f2,'type')='half'

在某种情况下,我需要知道传递的是什么类型的函数:

代码语言:javascript
复制
fCalc=function(f=f2,x){
  if(attr(f,'type')=='half') {
    cat('ok\n')
    return(f(x))
  } else cat( 'not ok')
}
fCalc(f2,4)
ok
[1] 2
EN

回答 1

Stack Overflow用户

发布于 2017-09-17 00:48:28

如果你想用R编写Java程序,你可以定义一个函数工厂:

代码语言:javascript
复制
fact <- function(args, expr, attrib)
{
    f <- function() { }
    formals(f) <- args
    body(f) <- substitute(expr)
    attr(f, "type") <- attrib
    f
}

fact(alist(x=), x/2, "foo")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46255563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档