Kodumun üst kısmında bir kez bildirdiğim bir dizi kullanmak istiyorum. Ör.VBScript'te sabit bir dizi bildirebilir misiniz?
Sabit Quarters = [ "Q1", "Q2", "Q3", "S4"], her çeyrek q q.Do bazı iş için
Vb
bu VBScript içinde mi yapılmalı?
Kodumun üst kısmında bir kez bildirdiğim bir dizi kullanmak istiyorum. Ör.VBScript'te sabit bir dizi bildirebilir misiniz?
Sabit Quarters = [ "Q1", "Q2", "Q3", "S4"], her çeyrek q q.Do bazı iş için
Vb
bu VBScript içinde mi yapılmalı?
Bir dizi, VBScript'te bir işlev çağrısının sonucudur (Array()
). Sadece literal değerler Const
yapılabilir. Yani: Hayır, yapamazsın.
Basit cevap: hayır. Dizi const
yapamaz.
Dizeyi yalnızca public olarak ilan etmiyoruz ve sonra betiğin başlangıcında diziyi atayalım?
Public myArray(3)
arrQuarters = Array("Q1", "Q2", "Q3", "Q4")
For Each Quarter in arrQuarters
wscript.echo Quarter
Next
Sabit olarak kullanmak istediğiniz diziyi döndürmek için bir işlev tanımlayabilirsiniz. Örneğin:
For Each q in AllQuarters
wscript.echo q
Next
wscript.echo "element 0 = " & AllQuarters()(0)
AllQuarters()(0) = "X1"
wscript.echo "element 0 still = " & AllQuarters()(0)
Function AllQuarters()
AllQuarters = Array("Q1","Q2","Q3","Q4")
End Function
İşte İYİ cevap. Sabit bir dizi bildiremezsiniz, ancak bir çözüm var: bir işlev olarak tanımlayın. – Stephan
daha kısa ve daha az hata çözüm olacaktır:
Dim arr
arr = Split("Q1 Q2 Q3 Q4") : ubd = UBound(arr)
' Implied separator is " " aka 040 octal aka 32 Dec aka 020 Hex.
veri boşluk içerme olasılığı varsa:
arr = Split("Le Sage,ne pleure,ni les vivants, ni les morts", ",")
ubd = UBound(arr)
' arr(2), for instance, now contains "ni les vivants"
Dikkat: Asla belki bir ayırıcı seçin 'atomik' veri dizilerinizde ortaya çıkar veya işlev, tek bir veri parçasının ortasında bu ayırıcıya bölünür.
Daha fazla kişinin öneride bulunmasına izin vermek için bir soruya işaretlemeden önce biraz (> 5 dakika) beklemek isteyebilirsiniz ... ;-) – Dscoduc
Neden? Soru cevaplandı (her zaman böyle işaretini kaldırabilirim). – user45492