更新“易语言.飞扬”编译器,改进“遍历循环(foreach)”

 (2007.11.13)

今天更新了“易语言.飞扬”编译器,改进了“遍历循环(foreach)”。

之前的“遍历循环”,支持对数组和“可遍历对象”进行遍历;改进后的“遍历循环”,支持对数组和“遍历器对象”进行遍历。

对数组的支持都是特例,下面重点对比一下之前的“可遍历对象”和现在的“遍历器对象”。

之前对“可遍历对象”的定义为:具有公开的“创建遍历器()”方法的对象,此方法返回一个“遍历器对象”。“遍历循环”自动查找并调用“创建遍历器()”方法获取“遍历器对象”。

“遍历循环”接收“可遍历对象”作为参数的话,意味着这个对象只能(通过“创建遍历器()”)创建一个(一种)“遍历器对象”,即只能以“一种”特定的方式被遍历。但实际的需求中,可能需要对同一个对象进行不同方式的遍历,如二叉树对象,可能需要前序遍历、后序遍历、中序遍历。之前的“遍历循环”显然是无法满足此需求的。

改进后的“遍历循环”,接收“遍历器对象”作为参数,把“创建遍历器”的动作交给用户(或类库),很大程度上提高了程序和类库的灵活性。例如二叉树对象,可以提供“创建前序遍历器()”“创建后序遍历器()”“创建中序遍历器()”等方法,分别创建出不同的“遍历器对象”,从而满足上述多种遍历方式的需求。

此次修改前后,对“遍历器对象”的定义没有改变,它是这样一个对象:

  1、必须有一个或多个标记为“遍历方法”的方法(称为“遍历方法”)
  2、“遍历方法”必须是公开的、无参数的,必须返回两个值:第一个返回值为任意数据类型,用于返回当前遍历出的数据;第二个返回值为逻辑型,为真表示第一个返回值有效,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
雪山凌狐教程出品,文件遍器来袭,希望通过源码的分享能跟大家一起学习文件的遍功能,内涵绝对干货内容和套路可以直接套用! 为了避免不使用线程时界面卡顿,调用了精模块5.28的线程功能,你不喜欢可以自己去掉或者用上自己写的多线程代码都可。这个关系不大。 其他部分纯源码不涉及其他模块。 软件功能: 1. 首先设定一个要遍的文件夹,可以设置要遍文件的后缀名或者不设置,可以选择是否遍子目录或者只是根目录,进行所有文件的遍并输出找到的文件的文件名,文件完整路径,修改时间,文件大小到超级列表框。 2. 遍完成后,可以在搜索框输入内容进行即时搜索,请注意是即时的。 3. 可以点击清空清空列表框内容。 4. 可以自动保存和读取配置。(该部分用了模块的批量保存命令,你也可以手动保存) 源代码亮点: 1. 线程调用,界面不卡顿(可以自己改了删掉或者用自己的多线程代码) 2. 新建了一个程序集叫做“程序集_遍”,里面的“遍文件”函数可以脱离该源码使用到你任何的程序中,可直接接入性非常高,只需要传入参数即可。 3. 主窗口的函数中有一个函数叫做“时间格式化”,也可以直接脱离该源码直接使用。 4. 当搜索框内容被改变时,如何进行即时搜索并再次显示出来?源码中是一个很好的例子,值得学习。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值