aauto学习系列之<12>枚举与迭代

枚举与迭代都提供遍历集合对象元素的功能。

一.枚举
指调用一个枚举函数、一次性列举出集合中的元素,通常需要指定一个触发器函数作为参数。枚举函数以enum作为前缀。例如,winex.enum枚举函数可以列举出所有的桌面窗口。

io.open();
import winex;
winex.enum(
    function(hwnd,depth){
    ..io.print(depth,hwnd,win.getText(hwnd);
}
}

所有枚举函数在设计时必须遵守约定:返回false停止枚举。

二.迭代
迭代函数通常用于for…in语句中,创建一个迭代器,用于遍历集合成员。迭代函数以each作为前缀。例如com.each函数、winex.each函数。

io.open();
import winex;
for hwnd,title,theadId in  winex.each(){
    io.print(hwnd,title,theadId);
}

三.迭代与枚举的区别
迭代是广度遍历,通常是在同一深度遍历集合对象,在一个循环中每次迭代出集合中的一个成员。
枚举可以通过递归深度遍历集合,一次性列举出集合中的元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值