; 创建对象. arr := Array("b", "a", "c") ; create an array with 3 arr.sort := Func("Array_sort") arr.reverse := Func("Array_Reverse") arr.join := Func("Array_Join") arr.len := Func("Array_Length") arr.insert := Func("Array_Insert") arr.delete := Func("Array_Delete") arr.test:=Func("Array_Test") ; 调用方法. Msgbox, % "直接输出`n" . arr.join("`n") Msgbox, % "经test后输出`n" . arr.test().join("`n") Msgbox, % "翻转后输出`n" . arr.reverse().join("`n") ; 为啥不行 ? Msgbox, % "排序后输出`n" . arr.sort().join("`n") return Array_Join(arr, sep="`n"){ Loop, % arr.len() str .= arr[A_Index] sep StringTrimRight, str, str, % StrLen(sep) return str } Array_Test(arr){ arr.insert(2, "xyz") return arr } Array_Sort(arr, func="Array_CompareFunc"){ n := arr.len(), swapped := true while swapped { swapped := false Loop, % n-1 { i := A_Index if %func%(arr[i], arr[i+1], 1) > 0 ; standard ahk syntax for sort callout functions arr.insert(i, arr[i+1]).delete(i+2), swapped := true } n-- } Return arr } Array_CompareFunc(a, b, c){ return a > b ? 1 : a = b ? 0 : -1 } Array_Reverse(arr){ arr2 := Array() Loop, % len:=arr.len() arr2[len-(A_Index-1)] := arr[A_Index] Return arr2 } Array_Length(arr){ len := arr._MaxIndex() Return len="" ? 0 : len } Array_Insert(arr, index, p1="……", p2="……", p3="……", p4="……", p5="……", p6="……"){ While (_:=p%A_Index%)!="……" && A_Index