我在AutoHotkey中有一组数组,希望将它们显示为调试字符串。
strArray := ["Alice", "Mary", "Bob"] ; 1D array
strArray2D := [[1,2,3], [4,5,6]] ; 2D array
Run Code Online (Sandbox Code Playgroud)
在Java,Javascript和AutoIt中,我可以使用内置的toString()函数来完成此操作。
strArray.toString(); // JavaScript: "Alice,Mary,Bob"
Arrays.toString(strArray); // Java: "[Alice, Mary, Bob]"
_ArrayToString($strArray, ", ") ; AutoIt: "Alice, Mary, Bob"
Run Code Online (Sandbox Code Playgroud)
AHK的开发人员lexikos表示,不会很快添加用于显示数组的内置功能,而且我在网上发现的大多数解决方案似乎都相当复杂。
如何在AutoHotkey中打印数组?
这会将1维和2维数组转换为字符串
F2:: MsgBox % join(["Alice", "Mary", "Bob"])
F3:: MsgBox % join2D([[1,2,3], [4,5,6]])
join( strArray )
{
s := ""
for i,v in strArray
s .= ", " . v
return substr(s, 3)
}
join2D( strArray2D )
{
s := ""
for i,array in strArray2D
s .= ", [" . join(array) . "]"
return substr(s, 3)
}
Run Code Online (Sandbox Code Playgroud)