在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