【发布时间】:2020-02-21 17:22:56
【问题描述】:
我对 Julia 很陌生,所以这可能是一个非常简单的问题。我想创建一个向量并将给定值与新的给定值交换。
这就是它在 Java 中的工作方式,但我找不到 Julia 的解决方案。我必须先复制数组吗?我很无知..
function sorted_exchange(v::Array{Int64,1}, in::Int64, out::Int64)
i=1
while v[i]!=out
i+=1
end
v[i]=in
return v
end
程序运行但只返回“旧”向量。
示例:sorted_exchange([1,2,3],4,3),预期:[1,2,4],实际:[1,2,3]
【问题讨论】:
-
你的例子为我返回
[1, 2, 4]? -
真的吗?对我来说是这样的:
julia> sorted_exchange([1,2,3],4,3) 3-element Array{Int64,1}: 1 2 3 -
对我来说也是如此,您的示例返回预期的正确答案:
[1,2,4] -
好的,现在变得很奇怪:如果我尝试在 IDE (Atom/Juno) 中使用该方法,它不起作用,但如果我将完全相同的代码放在 shell 中,它就会起作用正好。不管怎样,谢谢
-
它在 Juno 中也适用于我......我会问你使用的是什么 Julia 版本和操作系统,但我想不出你的示例中的任何内容会受到更改的影响Julia 版本。