在Julia中,函数中的所有变量赋值均默认为本地,但您可以使用关键字global
来分配全局变量。如何将变量分配给外部但非全局范围?在最接近的外部范围中捕获变量
3
A
回答
3
目前没有办法做到这一点。我们偶尔会讨论它,因为它是你不能做的一个范围界定行为,但是我还没有看到需要它的真正令人信服的理由。你是否有一个?
0
我想要生成一些代码,并且它使用include_string命令执行:
不幸的是,“全球性”的关键字并没有真正对那些在其中一个模块是该文件中作用域 变量任何影响定义为 (模块def之外)。如果一个变量的作用域在 模块之外,那么只有将它直接传递给函数,才能访问 它。
像这样:
module my_mod
function IDontWork(x:int)
global mp
include_string("Show(mp)")
end #function IDontWork
function IWork(x:int, mp::Minipipe)
include_string("Show(mp)")
end #function IWork
function Show(mp::Minipipe)
println(mp.txt)
end #Show
end #my_mod
#mp declared in global scope:
mp = Minipipe()
#FAILS:
my_mod.IDontWork(2)
#Only Way it WORKS:
my_mod.IWork(2, mp)
我的答案也是一个问题: 我使用global关键字正确吗?有一个更好的方法吗??
相关问题
- 1. 在范围变量中捕获单元
- 2. 在javascript中设置外部范围变量from内部范围
- 3. 块如何捕获其封闭范围之外的变量?
- 4. 在查询范围之外获取最近的值
- 5. 如何在外部获取请求范围变量javascript
- 6. 寻找最接近的块范围
- 7. 获取最近5周的范围
- 8. 局部变量的范围
- 9. 在Elixir的外部范围中重新绑定变量
- 10. 获取日期最接近变量
- 11. 在jquery范围之外的alert变量
- 12. JavaScript关闭 - 评估()和捕获变量在Eval()的范围
- 13. 角度范围外变量的变化
- 14. 在readFile中访问外部范围变量
- 15. Java:局部变量范围
- 16. python:如何捕获在非全局祖先外部范围中声明的变量?
- 17. MySQL - 如何获得从最接近点开始的范围?
- 18. 的ReferenceError在外部范围
- 19. 在其范围外使用变量
- 20. 在java中获取变量值的问题。变量的范围
- 21. java中最终局部变量的范围
- 22. 获取变量的中间范围值
- 23. setTimeout的变量外的范围
- 24. TensorFlow - 获取张量的变量范围?
- 25. Python变量范围的意外行为
- 26. 块内外的变量范围
- 27. 变量范围以外的类
- 28. JQuery事件以外的变量范围
- 29. 在控制器外部修改范围变量
- 30. 参考变量外块范围,但内部功能范围(C/C++)
您想更改全局变量的原因相同。但是,我将只使用纯函数。 – ThePiercingPrince