gpt4 book ai didi

static - Julia 是否支持具有函数作用域的静态变量

转载 作者:行者123 更新时间:2023-12-02 00:42:15 39 4
gpt4 key购买 nike

在 C 中,可以声明具有局部函数作用域的静态变量 ( example )。

在 Julia 中可以做类似的事情吗?

我的用例是声明子函数,但不希望 Julia 在每次代码执行时都必须重新解析它们。在函数外部声明它们很丑陋,并且给了它们更高的作用域,这是我想避免的。

示例:

function foo(x)
static bar = t -> stuff with t

...
bar(y)
...
end

虽然我可以在 foo() 之外声明 bar(),但我更希望 bar 只位于本地命名空间中。

谢谢。

最佳答案

您可以围绕函数创建一个新作用域来保存变量。

let
global foo
function bar(t)
#stuff with t
end
y = 2
function foo(x)
#...
bar(y)
#...
end
end

那么只有foo(x)对外部可见

关于static - Julia 是否支持具有函数作用域的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541723/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com