Julia 这个函数的语法错误在哪里

Julia 这个函数的语法错误在哪里,julia,Julia,我有以下代码: using Winston function testConjecGeneral(n,numTrials) rangeVec = 2.0 uppBound = zeros(length(rangeVec), 1) count = 1 for alpha = rangeVec uppBound(count) = n*renyi([0.25, 0.5, 0.25], alpha) println("Upper boun

我有以下代码:

using Winston

function testConjecGeneral(n,numTrials)
    rangeVec = 2.0
    uppBound = zeros(length(rangeVec), 1)
    count = 1
    for alpha = rangeVec
        uppBound(count) = n*renyi([0.25, 0.5, 0.25], alpha)
        println("Upper bound: $(uppBound(count))")
       count = count+1
    end
end
当我尝试在命令提示符下使用include(“testConjecGeneral.jl”)加载代码时,我在参数列表中得到错误:语法:缺少逗号或逗号 在从第3行开始的表达式中加载/home/ganesh/UROP/YuryJulia/testConjecGeneral.jl时

有人能帮我弄清楚吗

uppBound(count) = n*renyi([0.25, 0.5, 0.25], alpha)
我看不太对。零返回一个数组,引用数组项的正确方法是使用方括号。正如现在所写的,它看起来像是在尝试调用一个函数。是否将该行更改为:

uppBound[count] = n*renyi([0.25, 0.5, 0.25], alpha)

解决问题?

我不认为这是语法错误,但
rangeVec
并不是您想象的那样。您将
rangeVec
赋值为
Float64
2.0
,然后将
rangeVec
视为一个
数组,调用
length(rangeVec)
并循环
alpha=rangeVec
。你是说
rangeVec
是一个
数组还是
Float64

你的问题标题不合适。。。请进行更改…有任何标题建议吗?我确实同意这个标题不好,但是因为我发现错误信息非常隐晦,我想不出更好的标题了。不,它不好。仍然会出现相同的错误消息。我想知道为什么它会标记第3行。你的println也会错误地取消上限。在调试的这一点上,我通常会开始注释行,看看是哪一行导致了错误。谢谢。我来自MATLAB;忘记了索引的()和[]。我知道,这只是为了测试目的。在MATLAB中,这种样式不会导致任何错误(rangeVec可以是数组或单双精度)。我设法解决了这个问题,尽管我不记得我到底做了什么。