去本地的VBScript數組的引用的唯一方法是一個Sub /函數調用:
>> Sub assignArray(a, i, e)
>> a(i) = e
>> End Sub
>> array1 = Array("elem1", "elem2", "elem3")
>> array2 = Array("item1", "item2", "item3")
>> WScript.Echo "array1", Join(array1), "array2", Join(array2)
>> assignArray array1, 0, "abra"
>> assignArray array2, 0, "cadabra"
>> WScript.Echo "array1", Join(array1), "array2", Join(array2)
>>
array1 elem1 elem2 elem3 array2 item1 item2 item3
array1 abra elem2 elem3 array2 cadabra item2 item3
如果不解決您的實際問題 - 順便說一句:什麼是你的現實字問題? - 考慮使用對象(Dictionary,System.Collections.ArrayList)來代替。
拼寫出來:
數組賦值副本。只有通過參數傳遞才能引用(本地)數組。如VBScript既不是Ç還是Java,你有你的「設計」適應語言 - 例如:
Option Explicit
Sub assignArray(a, i, e)
a(i) = e
End Sub
Randomize
Dim a1 : a1 = Split("I don't believe this")
Dim a2 : a2 = Split("solves any real-word problem")
WScript.Echo "a1:", Join(a1)
WScript.Echo "a2:", Join(a2)
If Rnd < 0.5 Then
assignArray a1, 0, "We"
Else
assignArray a2, 3, "problems"
End If
WScript.Echo "a1:", Join(a1)
WScript.Echo "a2:", Join(a2)
輸出:
a1: I don't believe this
a2: solves any real-word problem
a1: We don't believe this
a2: solves any real-word problem
a1: I don't believe this
a2: solves any real-word problem
a1: I don't believe this
a2: solves any real-word problems
感謝您的輸入,但是這並不能幫助我(可能除了建議使用比其他數組的東西)。我對原來的問題做了修改,希望它更清楚。 –