arrays - AutoIt 从数组中获取子数组

标签 arrays multidimensional-array element autoit subscript

一段简单的代码,我们希望将数组的元素(又是另一个数组)存储在另一个变量中:

Global $arr[1][2] = [ [1, 2] ]
Global $sub = $arr[0]

我们得到

Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
Global $sub = $arr[0]
Global $sub = ^ ERROR

如果我们写

Global $arr[1][2] = [ [1, 2] ]
Global $sub[2] = $arr[0]

我们得到

Missing subscript dimensions in "Dim" statement.:
Global $sub[2] = $arr[0]
Global $sub[2] = ^ ERROR

如此简单的任务,但我没有找到如何完成它的方法。不知道。请帮忙。

最佳答案

您正在创建一个二维多维数组,而不是数组内的数组。两者的区别如下:

  • 多维数组:

    Local $arr[1][2] = [ [1, 2] ]
    Local $sub = $arr[0][0] ; value = 1
    
  • 数组内的数组:

    Local $firstArray[2] = [1, 2]
    Local $arr[1] = [ $firstArray ]
    ;Local $sub = $arr[0][0] ; This does not work
    
    Local $sub = $arr[0]
    $sub = $sub[0] ; value = 1
    

在 AutoIt 中的大多数情况下,您会更喜欢多维数组。另一个数组中的数组会创建原始数组的副本,因此您会损失一些性能,并且对副本的修改不会影响原始数组。

最后,更喜欢使用 Local 关键字来定义变量,而不是 Global 关键字。如果使用 Local 关键字声明变量,则可以避免污染全局命名空间。

关于arrays - AutoIt 从数组中获取子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984069/

相关文章:

javascript - activeElement、elementFromPoint 和 target 的区别

c - 将数组从一个函数传递到另一个函数

arrays - 汇编语言中数组的冒泡排序

php - 如何将数组合并为多维数组

python - 获取包含值的第一个子列表的索引的最快方法

matlab - matlab中任意度数张量的子张量

c++ - 如何修改 vector 中的元素?

jquery - 如何获取重新排序的元素的顺序

C++ 采用华氏温度数组,将它们转换为摄氏温度,然后将摄氏温度添加到新数组中

c - 如何将 char * 转换为 2d char 数组