函数总是给我一个尾随的NULL返回

安娜·克莱

我已经用几个测试用例编写了此函数:

characterCounter <- function(char1, char2) {
    if(is.null(char1) || is.null(char2)) {
        print("Please check your character sequences!")
        return()
    }

    if(nchar(char1, type = "chars") < nchar(char2, type = "chars") || nchar(char1, type = "chars") <= nchar(char2, type = "chars")) {
        cat(sprintf("%s is smaller or smaller-equal than %s\n", char1 , char2))
        return()
    } else if(nchar(char1, type = "chars") > nchar(char2, type = "chars") || nchar(char1, type = "chars") >= nchar(char2, type = "chars")) {
        cat(sprintf("%s is greater or greater-equal than %s\n", char1 , char2))
        return()
    } else if(nchar(char1, type = "chars") == nchar(char2, type = "chars")) {
        cat(sprintf("%s is equal to %s\n", char1, char2))
        return()
    }
}

#Testcases
(characterCounter("Hello","Hell"))
(characterCounter("Wor","World"))

但是,在每种情况下我都会回来:

> (characterCounter("Hello","Hell"))
Hello is greater or greater-equal than Hell
NULL
> (characterCounter("Wor","World"))
Wor is smaller or smaller-equal than World
NULL

我不喜欢输出的内容NULL我为什么要把它取回来?(characterCounter(NULL,NULL))

更新

characterCounter <- function(char1, char2) {
    if(is.null(char1) || is.null(char2)) {
        return(cat("Please check your character sequences!"))
    }

    if(nchar(char1, type = "chars") < nchar(char2, type = "chars") || nchar(char1, type = "chars") <= nchar(char2, type = "chars")) {
        return(cat(sprintf("%s is smaller or smaller-equal than %s\n", char1 , char2)))
    } else if(nchar(char1, type = "chars") > nchar(char2, type = "chars") || nchar(char1, type = "chars") >= nchar(char2, type = "chars")) {
        return(cat(sprintf("%s is greater or greater-equal than %s\n", char1 , char2)))
    } else if(nchar(char1, type = "chars") == nchar(char2, type = "chars")) {
        return(cat(sprintf("%s is equal to %s\n", char1, char2)))
    }
}
埃迪

你得到,NULL因为那是你的回报。尝试使用invisible

f1 = function() {
    cat('smth\n')
    return()
}

f2 = function() {
    cat('smth\n')
    return(invisible())
}

f1()
#smth
#NULL
f2()
#smth

请注意,如果您用一组额外的括号强行输出,您仍然会得到NULL

(f2())
#smth
#NULL

最后,作为一般的编程笔记,我认为除单行外,非常希望return在函数和解决方案中有一条语句,这些语句通过不返回来避免输出不是那么好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

pytest的夹具总是返回一个函数

来自分类Dev

[] =方法总是返回一个值,即使我重写

来自分类Dev

为什么 scanf 总是给我第一个输入零?

来自分类Dev

Excel VLOOKUP函数从错误的行返回了一个值-但没有尾随空格

来自分类Dev

RSpec给我一个LoadError

来自分类Dev

GPS给我一个错误

来自分类Dev

给我一个MongoDB查询

来自分类Dev

在函数返回NULL应该返回一个整数

来自分类Dev

为什么我的余烬测试会给我TypeError:'undefined'不是一个函数?

来自分类Dev

覆盖给我一个错误,我找不到函数

来自分类Dev

我的代码只是显示给我的结果,而另一个则为null

来自分类Dev

我的代码只是显示给我的结果,而另一个则为null

来自分类Dev

如何在three.js中更改平面几何的颜色?(总是不断给我一个黑色的结局)

来自分类Dev

Caffe 总是返回一个标签

来自分类Dev

GetDirectories给我返回了一个字符串C#

来自分类Dev

/connect/userinfo 返回给我一个 403 forbidden in identityserver4

来自分类Dev

如何查询一个php页面并保存它返回给我的值?

来自分类Dev

为什么OpenSSL会给我一个“不应调用的函数”错误?

来自分类Dev

pow函数为什么给我nan一个答案?

来自分类Dev

PHP日期函数给我一个错误的时间

来自分类Dev

基本的Python:给我一个全局名称错误的函数

来自分类Dev

如何在Python中给我的函数一个“参数”?

来自分类Dev

为什么python给我这个函数一个TypeError?(编码新手)

来自分类Dev

split 函数的结果是每次给我一个字符而不是单词

来自分类Dev

为什么 puts() 函数会给我一个心形符号?

来自分类Dev

列表存储构造函数在 Dart 中给我一个错误

来自分类Dev

为什么 strcat 函数会给我一个分段错误?

来自分类Dev

编写 Get 函数给我一个属性错误

来自分类Dev

为什么它给我 'this.state.UserData.map' 不是一个函数?

Related 相关文章

  1. 1

    pytest的夹具总是返回一个函数

  2. 2

    [] =方法总是返回一个值,即使我重写

  3. 3

    为什么 scanf 总是给我第一个输入零?

  4. 4

    Excel VLOOKUP函数从错误的行返回了一个值-但没有尾随空格

  5. 5

    RSpec给我一个LoadError

  6. 6

    GPS给我一个错误

  7. 7

    给我一个MongoDB查询

  8. 8

    在函数返回NULL应该返回一个整数

  9. 9

    为什么我的余烬测试会给我TypeError:'undefined'不是一个函数?

  10. 10

    覆盖给我一个错误,我找不到函数

  11. 11

    我的代码只是显示给我的结果,而另一个则为null

  12. 12

    我的代码只是显示给我的结果,而另一个则为null

  13. 13

    如何在three.js中更改平面几何的颜色?(总是不断给我一个黑色的结局)

  14. 14

    Caffe 总是返回一个标签

  15. 15

    GetDirectories给我返回了一个字符串C#

  16. 16

    /connect/userinfo 返回给我一个 403 forbidden in identityserver4

  17. 17

    如何查询一个php页面并保存它返回给我的值?

  18. 18

    为什么OpenSSL会给我一个“不应调用的函数”错误?

  19. 19

    pow函数为什么给我nan一个答案?

  20. 20

    PHP日期函数给我一个错误的时间

  21. 21

    基本的Python:给我一个全局名称错误的函数

  22. 22

    如何在Python中给我的函数一个“参数”?

  23. 23

    为什么python给我这个函数一个TypeError?(编码新手)

  24. 24

    split 函数的结果是每次给我一个字符而不是单词

  25. 25

    为什么 puts() 函数会给我一个心形符号?

  26. 26

    列表存储构造函数在 Dart 中给我一个错误

  27. 27

    为什么 strcat 函数会给我一个分段错误?

  28. 28

    编写 Get 函数给我一个属性错误

  29. 29

    为什么它给我 'this.state.UserData.map' 不是一个函数?

热门标签

归档