在 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 不是数组...