找回密码
 加入
搜索
查看: 166|回复: 5

[AU3基础] 请指点下for in的用法

[复制链接]
发表于 2024-3-8 23:22:46 | 显示全部楼层 |阅读模式
本帖最后由 anythinging 于 2024-3-8 23:30 编辑

查了半天关于for in的资料,对for in还是没能完全理解,哪位朋友能给介绍下用途和使用方法?


查了下都是一维数组的例子,如果二维数组的话,就不会应用了。


这个一维数组还好理解
Local $cc = [1,2,3,4,5,6]
For $bb In $cc
        MsgBox(262144,'',$bb)
Next


下面这个二维的就不会用了

Local $aa[0][2]
_ArrayAdd($aa,'0|0')
_ArrayAdd($aa,'1|1')
_ArrayAdd($aa,'2|2')
_ArrayAdd($aa,'3|3')
For $bb In $aa
        
Next




 楼主| 发表于 2024-3-8 23:34:57 | 显示全部楼层
本帖最后由 anythinging 于 2024-3-8 23:38 编辑

看某个库文件中有这种代码,但是不是很理解

        If IsObj($colItems) Then
                For $objItem In $colItems
                        ReDim $aSysProductInfo[UBound($aSysProductInfo) + 1][7]
                        $aSysProductInfo[$i][0]  = $objItem.Name
                        $aSysProductInfo[$i][1]  = $objItem.IdentifyingNumber
                        $aSysProductInfo[$i][2]  = $objItem.SKUNumber
                        $aSysProductInfo[$i][3]  = $objItem.UUID
                        $aSysProductInfo[$i][4]  = $objItem.Description
                        $aSysProductInfo[$i][5]  = $objItem.Vendor
                        $aSysProductInfo[$i][6]  = $objItem.Version
                        $i += 1
                Next
后面的.Name不懂是什么意思,有点象匹配,不会用。
发表于 2024-3-8 23:37:20 | 显示全部楼层
for  in 不支持 二维。


支持 对象 字典



#include<array.au3> 

local $a[2] = [1,2] 
local $b[2] = [11,22] 
Local $c[2] = [111,222] 

Local $aa[3]  = [$a,$b,$c]
 
For $bb In $aa
        ConsoleWrite(@crlf&$bb[0]&@tab&$bb[1] )
Next



发表于 2024-3-8 23:42:34 | 显示全部楼层
for in 只支持有元素的对象或一维数组 的循环
发表于 2024-3-8 23:44:07 | 显示全部楼层
anythinging 发表于 2024-3-8 23:34
看某个库文件中有这种代码,但是不是很理解

        If IsObj($colItems) Then


你可以看帮助文档:语言参考》变量类型》映射元素
 楼主| 发表于 2024-3-8 23:46:53 | 显示全部楼层
收到,感谢指点,我再学习下。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-2 11:12 , Processed in 0.072807 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表