【问题标题】:How to create a function return nothing in Julia?如何在 Julia 中创建函数不返回任何内容?
【发布时间】:2021-10-04 00:25:17
【问题描述】:

当我在 Julia 中创建一个函数时,我会在函数中打印一些内容并且不返回任何内容。但结果是函数打印我想要的,也返回“无”。我该怎么做才能使函数只打印我想要的而不返回'nothing'?

【问题讨论】:

    标签: function julia nothing


    【解决方案1】:

    函数总是有返回值。当没有明确的return 语句时,返回函数中最后一个表达式的值。这可能就是您在这里看到的:如果print 语句是您函数的最后一行,因为print 的返回值是nothing,那么它也将成为您函数的返回值。

    如果您只是不希望在输出末尾显示nothing,请粘贴您正在使用的导致此行为的代码,我们可以弄清楚如何抑制@987654326 的此输出@ 从出现。

    【讨论】:

      【解决方案2】:

      @sundar 对答案的一些补充评论。

      换句话说,nothing 是表示函数没有返回任何内容的值。考虑一下这个 Julia 会议:

      julia> function f()
             end
      f (generic function with 1 method)
      
      julia> res = f()
      
      julia> dump(res)
      Nothing nothing
      

      默认nothing显示为空输出:

      julia> res     
      
      

      然而,当res 最终插入另一个字符串时,情况会发生变化:

      julia> "$res"  
      "nothing"      
      

      对于上述情况,请考虑使用something,例如:

      julia> "$(something(res,""))"
      ""
      

      【讨论】:

        猜你喜欢
        • 2012-12-22
        • 2013-09-05
        • 1970-01-01
        • 1970-01-01
        • 2022-10-13
        • 1970-01-01
        • 2018-08-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多