通过查看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% } } ;]
时间: 2024-10-31 02:00:02