【问题标题】:What does it mean when a function arguments follow "pass-by-sharing"?当函数参数遵循“传递共享”时,这意味着什么?
【发布时间】:2014-12-26 16:53:07
【问题描述】:

这与 Julia 有特定关系,他们在文档中提到了这一点。我注意到在我的 Julia 代码中发生了以下情况:我可以在 julia 函数中使用全局变量的值,甚至无需将它们传递给函数。有人可以解释发生了什么吗?

【问题讨论】:

    标签: function arguments julia


    【解决方案1】:

    您可能需要阅读手册中关于"scope" 的部分。

    变量的作用很像函数:在

    function foo(x)
        return bar(x)^2
    end
    

    您不必将bar 作为参数传入、在内部定义它或将其声明为全局函数。但是,如果您愿意,您可以定义一个内部 bar 函数,该函数在本地覆盖全局 bar 函数。变量的作用类似:唯一需要显式使用 global 的情况是在函数内部修改全局变量。

    【讨论】:

    • 另外值得注意的是,全局变量并不完全是全局的,而是作用于当前模块的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2012-07-14
    • 2018-01-19
    相关资源
    最近更新 更多