AU3之Script.Dictionary字典对象初探
本帖最后由 annybaby 于 2012-12-17 11:38 编辑前几天本来是想去官网找下ward求助的,见他也N久没上,就到处乱逛,无意中看到了他写了一个关联数组的UDF(有些人叫联合数组),搜索论坛,只有几个帖子,再搜本坛,似乎是一篇都没有讨论过,就自己网上找了点资料看看,然后做点笔记,但网易笔记代码着色太麻烦了,所以发在无意义问题区进行一下代码着色~~刚刚无意中发现有位坛友也写了个帖子在那个文本对比效率里,就顺手也贴上来供大家参考,批评~~
姑且挂个原创,各位轻拍哈~~{:face (427):}
觉得有一点用的话,记得鼓励下哦~~{:face (239):}
为了不影响那些路过的朋友,重新编辑了下,回复可见~~~
**** Hidden Message *****
末了,再多说两句:
在应用方面,字典对象法还是非常高效/简单/易用的,虽然比不上用Assign-Isdeclared强悍,但效率也有一半左右,比之遍历二维数组,快了不止N倍(当然是数据量比较大的时候),
如在去重上,可以通过_filereadtoarray读文件到一个数组(或者是使用stringsplit拆分,或者是正则匹配等),然后通过循环,用字典对象的$obj.add方法添加到对象中,然后直接把键值$obj.keys()直接通过_FileWriteFromArray写到文件中去,基本上都是现成的UDF,几句代码就可以了~~
最后温馨提示一下,如果需要改变默认的二进制比较模式的话,应该在对象创建之后,添加数据之前设置,否则不能改变比较模式~~
收工,各位晚安~~~{:face (84):} LZ,有心人,{:face (89):} 楼主是牛人{:face (197):} LZ 辛苦了 支持 学习下方法,LZ 辛苦 我用vb的时候,文本比较最常用的是“集合”,“字典”速度很慢的。 辛苦了 支持 回复 6# vuivui
哦?没有找到这个"集合"如何在AU3中应用的相关资料,可以分享下吗? 曾经用过Script.Dictionary字典进行唯一值的统计,看看这里的代码是怎么样的!
标题
回复vuivui哦?没有找到这个"集合"如何在AU3中应用的相关资料,可以分享下吗?
annybaby 发表于 2012-12-17 20:22 http://www.autoitx.com/images/common/back.gif
vb的集合应该是自带对象,不是com对象,au3不好引用吧。 回复 10# vuivui
哦,这样啊??那就是没有多大意义了~~ 看看做什么的。。 回复看看教程 看一下。。。 我用vb的时候,文本比较最常用的是“集合”,“字典”速度很慢的。
vuivui 发表于 2012-12-17 19:23 http://www.autoitx.com/images/common/back.gif
其实dictionary和set不能用来比较效率,它们的用处也不同。dictionary主要消耗在建树的时候,但是dictionary查找速度是1,set的查找速度是logN。