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