2012-07-01 168 views
1

我試圖訪問Autoit中的嵌套數組中的值,但我得到超出範圍的錯誤消息。 這是我的代碼:Autoit - 嵌套數組

Func ThisFunction() 
    local $one[6] = [1, 2, 3, 4, 5, 6] 
    local $two[6] = [7, 8, 9, 10, 11, 12] 

    local $combined[2] = [$one, $two] 

    For $i = 0 to UBound($combined)-1 
    $result = SomeFunction ($combined[$i]) 
    If $result Then 
     return $combined[$i][0] 
    EndIf 
    Next 
EndFunc 

有沒有辦法訪問/從$嵌套組合陣列返回一個特定的指數?

編輯:我發現了一個解決方案的工作,我不知道這是很好的做法

For $i = 0 to UBound($combined)-1 
    $result = SomeFunction ($combined[$i]) 
    If $result Then 
     local $temp = $combined[$i] 
     If IsArray($temp) Then 
     return $temp[0] 
     EndIf 
    EndIf 
    Next 

回答

0
For $i = 0 to UBound($combined)-1 
    $result = SomeFunction ($combined[$i]) 
    If $result Then 
     local $temp = $combined[$i] 
     If IsArray($temp) Then 
     return $temp[0] 
     EndIf 
    EndIf 
    Next 
0

你的問題是,你對待$合併爲一個2維數組。但它是一維數組。 (在你的回報中)。

嘗試$酮[$結合[$ i]]

+1

感謝您的建議,但它並沒有爲我工作了。我發現了另一個解決方案。 –

+0

那麼請問您是否可以將您的解決方案作爲您自己的問題的答案分享給其他人?未回答的問題(未標記爲已回答)會導致不必要的努力。謝謝! – Samoth

+0

你是對的。完成。 –