Julia语言:将全局列表插入到函数中,更改全局列表

时间:2019-09-28 19:34:32

标签: julia

我有关于全局列表变量的信息。我想使用此信息并对其进行一些操作。但我不想更改此全局列表。现在,我进行的任何操作都会更改此全局列表。这个全局列表已经有很长的代码了。

以下示例代表我的错误难度:

function Dont_Change_Global_List(L)
Manipulating_List = L
deleteat!(Manipulating_List,2)
return Manipulating_List
end

global s = [1,2,3,4,5]

println("function result: ",Dont_Change_Global_List(s))
println(“global list”, s)

I get:

function result: [1, 3, 4, 5]
global list[1, 3, 4, 5]

我需要以下结果:

function result: [1, 3, 4, 5]
global list[1, 2, 3, 4, 5]

在不更改全局列表的情况下还能做些什么吗?

1 个答案:

答案 0 :(得分:1)

您可以在内部copy进行列表:

function dont_change_list(L)
    Manipulating_List = copy(L) 
    deleteat!(Manipulating_List,2) 
    return Manipulating_List
end