类型不匹配:'UBound'
Type mismatch: 'UBound'
为什么会出现这个错误;
Type mismatch: 'UBound'
Function JumbleArray(ByVal aArray)
Dim iUpper, iLower, iLoop, iSwapPos, varTmp
iUpper = UBound(aArray)
iLower = LBound(aArray)
Randomize Timer
For iLoop = iLower To iUpper
iSwapPos = Int(Rnd * (iUpper + 1))
varTmp = aArray(iLoop)
aArray(iLoop) = aArray(iSwapPos)
aArray(iSwapPos) = varTmp
Next
JumbleArray = aArray
End Function
Dim strTestArray
strTestArray = "1,2,3,4,5,6,7,8"
Shuffle = JumbleArray(strTestArray)
此代码是在其他地方提出的,但没有任何关于它不起作用的报告。看起来应该可以,但实际上没有。
此处显示的代码是您需要的一切。通过简单地 运行 您将看到错误的代码。
问题不是很清楚,但据我所知主要有两个问题。
函数 UBound()
需要一个有效的数组 return 上限,任何其他内容都会引发 Type mismatch
错误。
这里的问题是函数需要一个 Array
但它被传递了一个 String
(如评论中所述)。如果字符串包含有效的字符串数组 (可以通过分隔符解释为一维数组的字符串),则可以使用 Split()
函数将字符串转换为有效数组和 IsArray()
检查有效数组是 returned.
函数JumbleArray()
return是一个Array
,不能只使用Response.Write()
输出到页面。要输出它,您首先需要使用 IsArray()
检查其有效数组,然后使用 Join()
输出值或使用循环遍历数组中的每个元素。
调用函数时试试这个;
strTestArray = "1,2,3,4,5,6,7,8"
Dim TestArray: TestArray = Split(strTestArray, ",")
If IsArray(TestArray) Then
TestArray = JumbleArray(TestArray)
If IsArray(TestArray) Then
Call Response.Write(Join(TestArray, ","))
End If
Else
Call Response.Write("Not a valid array")
End If
为什么会出现这个错误;
Type mismatch: 'UBound'
Function JumbleArray(ByVal aArray)
Dim iUpper, iLower, iLoop, iSwapPos, varTmp
iUpper = UBound(aArray)
iLower = LBound(aArray)
Randomize Timer
For iLoop = iLower To iUpper
iSwapPos = Int(Rnd * (iUpper + 1))
varTmp = aArray(iLoop)
aArray(iLoop) = aArray(iSwapPos)
aArray(iSwapPos) = varTmp
Next
JumbleArray = aArray
End Function
Dim strTestArray
strTestArray = "1,2,3,4,5,6,7,8"
Shuffle = JumbleArray(strTestArray)
此代码是在其他地方提出的,但没有任何关于它不起作用的报告。看起来应该可以,但实际上没有。
此处显示的代码是您需要的一切。通过简单地 运行 您将看到错误的代码。
问题不是很清楚,但据我所知主要有两个问题。
函数
UBound()
需要一个有效的数组 return 上限,任何其他内容都会引发Type mismatch
错误。这里的问题是函数需要一个
Array
但它被传递了一个String
(如评论中所述)。如果字符串包含有效的字符串数组 (可以通过分隔符解释为一维数组的字符串),则可以使用Split()
函数将字符串转换为有效数组和IsArray()
检查有效数组是 returned.函数
JumbleArray()
return是一个Array
,不能只使用Response.Write()
输出到页面。要输出它,您首先需要使用IsArray()
检查其有效数组,然后使用Join()
输出值或使用循环遍历数组中的每个元素。
调用函数时试试这个;
strTestArray = "1,2,3,4,5,6,7,8"
Dim TestArray: TestArray = Split(strTestArray, ",")
If IsArray(TestArray) Then
TestArray = JumbleArray(TestArray)
If IsArray(TestArray) Then
Call Response.Write(Join(TestArray, ","))
End If
Else
Call Response.Write("Not a valid array")
End If