julia - Julia:模块中的全局变量
问题描述
我正在尝试在 Julia 中创建一个模块,该模块在每次调用其中一个函数时都会增加一个变量。
module A
a = 0
export get_and_increment_a
function get_and_increment_a()
a = a + 1
return a
end
end
using .A
println(get_and_increment_a())
println(get_and_increment_a())
我希望 prinln() 给我
1
2
但我有以下错误消息:
UndefVarError: a not defined
Stacktrace:
[1] get_and_increment_a() at ./In[1]:8
[2] top-level scope at In[2]:2
任何人都知道如何解决这个问题?
解决方案
在函数体内移动 a = 0。里面的所有变量都是本地的。 https://docs.julialang.org/en/v1/manual/variables-and-scoping/#Local-Scope
推荐阅读
- spring - Spring Data MongoDB BeforeSaveCallback 不起作用
- powershell - powershell 和 conda:conda activate env 返回命令未找到
- f# - 如何在 F# 中制作 Map[string, obj]?
- security - 用户可以通过 Censys 找到我的源 IP
- python - 在 txt 文件 Python 中查找电话号码
- dart - dart 查询 Steam 主服务器
- ios - 当我添加 UIPickerView 时,为什么不相关的自动布局约束会发生变化?
- pandas - 为什么我在 Jupyter 笔记本中得到两个图(而不是一个)?
- r - 当我通过 ID 合并两个数据帧时,我没有获得其中一个数据帧的 ID
- azureservicebus - 定义 MassTransit Consumer 检查服务总线的频率