【发布时间】:2016-05-02 06:52:31
【问题描述】:
如何访问二维数组我想从数组位置 [3][3] 获取字符串 dog 并将其存储在变量中。这是我的代码
#include <Array.au3>
#include <IE.au3>
Local $aTableData
Local $oIE = _IE_Example("table")
Local $oTables = _IETableGetCollection($oIE)
For $oTable In $oTables
If $oTable.id == "tableOne" Then
$aTableData = _IETableWriteToArray($oTable)
ExitLoop
EndIf
Next
_ArrayDisplay($aTableData)
_IEQuit($oIE)
我认为这样的事情会起作用,但事实并非如此
Local $oDog = $aTableData[3][3]
【问题讨论】:
-
如果你把它放在@aTableData = _IETableWriteToArray($oTable) 行之后:"ConsoleWrite("元素数:" & UBound($aTableData) & " " & $oTable.rows.length & @ CRLF)“你的数量是多少?数组里面真的有数据吗?
-
是的,它在控制台中返回此消息:
number of elements: 6 6 -
您的代码应该可以工作...这就是您在 AutoIT 中访问数组的方式...此代码是否完整,或者您是否在不同的函数中执行此操作?您的 $oDog 变量是否与您的 $oTable 循环在不同的函数中?这是一个局部变量。如果它超出范围,那真的是唯一会影响它的事情。
-
举个例子,这行得通……这基本上和你正在做的事情是一样的。本地 $aTableData[2][2] = [["Test 0 0","Test 1 0"],["Test 0 1","Test 1,1"]] 本地 $oDog = $aTableData[1][ 1] & @CRLF ConsoleWrite($oDog)
标签: arrays multidimensional-array autoit