4
我在茱莉亚有一个通用函数,目的是说如果给定维度的向量的成员是否定的。一些变化之后,我有:函数变量不居住for循环
function any(vec)
dim = size(vec)
for i in 1:dim[2]
fflag = vec[1,i] < 0
println("Inside any, fflag = ", fflag)
if fflag == true
result = 0
println("blabla ", result)
break
else
result =1
println("blabla ", result)
continue
end
end
println("hey, what is result? ")
println(result)
return result
end
如果我运行一个测试,我发现了以下结果:
Inside any, fflag = false
blabla 1
Inside any, fflag = false
blabla 1
Inside any, fflag = false
blabla 1
hey, what is result?
result not defined
at In[7]:57
我不知道为什么编译器说,我说,“结果”没有定义。我知道变量存在,但为什么不住在for循环之外?
你也可以事先没有分配地做'local result'。 – StefanKarpinski
StefanKarpinsk你能解释一下你的意思吗?我一直在使用上面的答案,但是我想停止为for循环之外的初始定义分配一个特定的值。 – lara
@ user3061923我在回答中添加了一些更多细节。希望这可以帮助! – PeterSW