Matrisjävlar

ASP

4 svar · 223 visningar · startad av star

Medlem sedan apr. 200142 inlägg
Trådstart#1

Följande kodsnutt:

Function rollDices(dice)
dim arrDump
dim arrPump
arrDump = Split(dice, "+")
x = arrDump(1)                     '*
arrPump = Split(arrDump(0), "T")
y = arrPump(0)
z = arrPump(1)

If x = 0 OR x = "" then
x = 0
End If

Randomize
rollDices = clng(y*((z * Rnd) + 1) + x)   
End Function

countThis = rollDices(1T10+1)

Orsakar följande felmeddelande:

Körningsfel i Microsoft VBScript fel '800a0009'

Felaktigt matrisindex: '[number: 1]'

på raden markerad med en asterix. Varför kan man inte referera till arrayer på det här sättet. Vilken är lösningen?

*

Medlem sedan apr. 200142 inlägg
#2

Förlåt, anropas naturligtvis med:

countThis = rollDices("1T10+1")

*

Medlem sedan dec. 200012 464 inlägg
#3

Varför kan du inte ha olika parametrar?

Function rollDices(x,y,z)
If x = "" then
x = 0
End If

Randomize
rollDices = clng(y*((z * Rnd) + 1) + x) 
End Function
countThis = rollDices(1,10,1)
Medlem sedan apr. 200142 inlägg
#4

Jag kan inte använda olika parametrar för argumentet som sänds med rolldices egentligen är en sträng som mottages med Request.Form. Det blir mycket jobbigare. Tyvärr.

Medlem sedan dec. 200012 464 inlägg
#5

Jag testade din kod (i IE) och får inget fel.

368 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
236 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)