首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将参数赋值为空诗句在函数中没有任何内容。

将参数赋值为空诗句在函数中没有任何内容。
EN

Stack Overflow用户
提问于 2015-07-13 16:10:58
回答 1查看 33关注 0票数 0

据我所知,如果我有如下功能:

代码语言:javascript
运行
复制
hello1<- function(pillow){
       if (missing(pillow)){
      stop("You need to enter pillow")
    }
pillow
}

hello1()停止并返回我想要的消息:

代码语言:javascript
运行
复制
hello2<- function(pillow){
       if (is.null(pillow)){
      stop("You need to enter pillow")
    }
pillow
}

hello2()停止并返回以下消息:Error in hello2() : argument "pillow" is missing, with no default

代码语言:javascript
运行
复制
hello3<- function(pillow=NULL){
       if (is.null(pillow)){
      stop("You need to enter pillow")
    }
pillow
}

hello3()停止并返回我想要的消息:

代码语言:javascript
运行
复制
hello4<- function(pillow=NULL){
           if (missing(pillow)){
          stop("You need to enter pillow")
        }
    pillow
    }

hello4()停止并返回我想要的消息:

总之,当参数设置为missing()is.null()时,我可以使用NULL获得想要的消息,但是,当参数设置为空时,我可以得到只使用missing()而不是is.null()需要的消息。尽管如此,我想知道在论点中分配NULL的利弊是什么,而不是分配NULL

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-13 16:20:45

使用missing的最大优点是,您在测试的内容上是显式的(是否给出了参数?)。默认值NULL不太明确,因为NULL可能是某些函数的正确值。

特定情况下,参数由另一个函数计算,在某些情况下,它将值计算为NULL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31388312

复制
相关文章

相似问题

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