代码效率优化讨论 (是否可以作为集中贴讨论?)
本帖最后由 Qokelate 于 2012-4-17 23:55 编辑1.
if $String then ____
if stringlen($string) then _____
if $string<>'' then _____
这个其实已经讨论过,本次收集只是为了集中处理 见 http://www.autoitx.com/thread-31448-1-1.html
2.
if not fileexists() then ________
与
if bitand(fileexists(),0) then _________
3.
;由字符串ab11cd 得到 ab66cd,假设11唯一
$string='ab11cd'
$NewString=stringreplace($string,'11','66')
与
$idx1 = StringInStr($string, '11', 0, 1)-1
$idx2 = StringInStr($string, '11', 0, -1)+1
$NewString = StringLeft($string, $idx1) & '66' & StringTrimLeft($string, $idx2)
本人无解,欢迎各抒己见,也欢迎提出你的优化讨论________ 但请不要进行无关讨论,谢谢!! 第2题,如果文件不存在,则。。。? 如果是这样,那应该改成:
if not fileexists() ...
if not bitand(fileexists(), -1) ...
任意数和0进行位“与”运算之后,总是等于0的。与-1进行位“与”运算,结果还是原数。很明显地直接if not fileexists()比较快一些。
第3题,直接stringreplace快,且不看这4个函数内部是怎样工作的,少了Au3解析器从“内核空间”切换到“用户空间”的过程。 回复 2# pusofalse
这个想错了,如果改成这样,会不会好点?
if not fileexists() ...
if bitand(fileexists()+1, 2) ...
回复 3# Qokelate
bitand(fileexists()+1, 2),文件存在时返回2,不存在时返回0,then... 后面的语句不会被执行的。
页:
[1]