我有兩個模塊,一個稱爲主循環,另一個調用的子程序:改變一個全局變量的內容從另一個模塊中朱
module mainLoop
using subroutines
export memory
memory = zeros(Int,10)
foo(UInt32(17))
print(memory,"\n")
end
module subroutines
using mainLoop
export foo
function foo(x::UInt32)
mainLoop.memory[1]=x
end
end
我不能找出如何改變數組的內容稱爲子程序模塊的內存。我沒有選擇將數組作爲參數傳遞給函數,所以我必須使用全局變量。在documentation,它指出:
「模塊可以通過使用或import語句,或通過使用點符號合格訪問引入其他模塊的變量納入其範圍,即每個模塊是一個所謂的命名空間。請注意,變量綁定只能在其全局範圍內進行更改,而不能從外部模塊進行更改。「
通過變量綁定,這是否意味着您不能更改變量內容?
不要使用全局變量,只是通過內存作爲參數傳遞給每個子程序。 –