在 Autoit 脚本中,Redim 是否无法用于减小数组大小?
In Autoit script, does Redim be unusable in decreasing array size?
我写了一个 Autoit 脚本。但是在使用 Redim 关键字时发生错误,该关键字用于在保留现有内容的情况下减小数组大小。
测试脚本是
#include-once
#include <Array.au3>
#include <File.au3>
#include <String.au3>
Local $_URLfile = InputBox("filename input","Please input your URL-list filename with path")
$_URLfile = StringReplace($_URLfile,'"',"") ; remove quotation mark in filename
Local $_urllistarray
_FileReadToArray($_URLfile, $_urllistarray) ; read each line of the file and store to array
Local $_ValidUrlList[$_urllistarray[0]]
; restore to another array except elements which are empty or not Url string elements
Local $i = 0
For $j = 1 To $_urllistarray[0]
If StringRegExp($_urllistarray[$j],'(^http)') And StringLen($_urllistarray[$j]) >= 15 Then
$_ValidUrlList[$i]=$_urllistarray[$j]
$i += 1
Else
Redim $_ValidUrlList[UBound[$_ValidUrlList]-1] ; but, ERROR occures here
EndIf
Next
_ArrayDisplay($_ValidUrlList,"ValidUrlList")
错误信息是
==> Subscript used on non-accessible variable.:
Redim $_ValidUrlList[UBound[$_ValidUrlList]-1]
Redim $_ValidUrlList[UBound^ ERROR
>Exit code: 1 Time: 32.72
我该如何解决这个错误?
或者,是否无法使用 Redim 关键字减小数组大小?
我正在寻找你的帮助。谢谢:-)
Redim $_ValidUrlList[UBound[$_ValidUrlList]-1]
应该是
Redim $_ValidUrlList[UBound($_ValidUrlList)-1]
因为 UBound
不是数组...
我写了一个 Autoit 脚本。但是在使用 Redim 关键字时发生错误,该关键字用于在保留现有内容的情况下减小数组大小。
测试脚本是
#include-once
#include <Array.au3>
#include <File.au3>
#include <String.au3>
Local $_URLfile = InputBox("filename input","Please input your URL-list filename with path")
$_URLfile = StringReplace($_URLfile,'"',"") ; remove quotation mark in filename
Local $_urllistarray
_FileReadToArray($_URLfile, $_urllistarray) ; read each line of the file and store to array
Local $_ValidUrlList[$_urllistarray[0]]
; restore to another array except elements which are empty or not Url string elements
Local $i = 0
For $j = 1 To $_urllistarray[0]
If StringRegExp($_urllistarray[$j],'(^http)') And StringLen($_urllistarray[$j]) >= 15 Then
$_ValidUrlList[$i]=$_urllistarray[$j]
$i += 1
Else
Redim $_ValidUrlList[UBound[$_ValidUrlList]-1] ; but, ERROR occures here
EndIf
Next
_ArrayDisplay($_ValidUrlList,"ValidUrlList")
错误信息是
==> Subscript used on non-accessible variable.:
Redim $_ValidUrlList[UBound[$_ValidUrlList]-1]
Redim $_ValidUrlList[UBound^ ERROR
>Exit code: 1 Time: 32.72
我该如何解决这个错误? 或者,是否无法使用 Redim 关键字减小数组大小? 我正在寻找你的帮助。谢谢:-)
Redim $_ValidUrlList[UBound[$_ValidUrlList]-1]
应该是
Redim $_ValidUrlList[UBound($_ValidUrlList)-1]
因为 UBound
不是数组...