AutoHotkey数组例子

通过查看AutoHotkey的帮助文档,可以看到AHK支持数组,但例子和文档表述还是不明晰,因此花了半天时间调试,成功写出了一维数组、二维数组的示例

;[以下测试从文件逐行读取数据到一维数组,并再次从一维数组读出
cnt_rqlb=0
Loop, read, rqlb.txt
{
    cnt_rqlb+=1
	;下一行中因使用:=,所以右侧不添加%%
    rqlb%cnt_rqlb%:=A_LoopReadLine
	;下一行中的" . "有讲究,注意"."两侧都要保留空格,且OutputDebug后不是","而是"%"
    OutputDebug % "1D Read File:" . rqlb%cnt_rqlb%
    
}
OutputDebug, cnt_rqlb=%cnt_rqlb%
Loop %cnt_rqlb%
{
	;下一行中的:=又有讲究,右侧因访问数组下标,所以出现了%A_Index%
    strLine:=rqlb%A_Index%
    OutputDebug % "1D Read Array:" . A_Index . " is " . rqlb%A_Index%

}
;]

;[以下测试从文件逐行逐列读取数据到二维数组,并再次从二维数组读出
cnt_rqlb=0
Loop, read, rqlb.txt
{
    row=%A_Index%
    cnt_rqlb+=1
    Loop, parse, A_LoopReadLine, %A_Tab%
    {
        col=%A_Index%
        
        rqlb%row%_%col%=%A_LoopField%
        OutputDebug % "2D Read File:" . rqlb%row%_%col%
    }
}

OutputDebug, cnt_rqlb=%cnt_rqlb%

;下面两行都可以输出数组指定下标的数据
OutputDebug, rqlb1_1=%rqlb1_1%
OutputDebug % "rqlb1_2=" . rqlb1_2

Loop %cnt_rqlb%
{
    row=%A_Index%
    Loop 2
    {
        col=%A_Index%
        item:=rqlb%row%_%col%

        OutputDebug % "2D Read Array:(" . row . " ," . col . ") is " . rqlb%row%_%col%
    }
}
;]


你可能感兴趣的:(AHK,AHK,AutoHotkey)