【发布时间】:2011-04-27 14:09:42
【问题描述】:
我正在为 ASP 经典开发一个 array_merge 函数。我所拥有的似乎正在工作,直到一个(或两个)参数为空或不是数组。这是我目前所拥有的:
function array_merge(left, right)
dim total_size
dim i
dim merged
' Convert "left" to an array
if not isArray(left) then
left = Array(left)
end if
' Convert "right" to an array
if not isArray(right) then
right = Array(right)
end if
' Start with "left" and add the elements of "right"
right_size = ubound(right)
total_size = ubound(left) + right_size + 1
merged = left
redim preserve merged(total_size)
for i = 0 to ubound(right)
merged(right_size + i + 1) = right(i)
next
' Return value
array_merge = merged
end function
我得到错误:
错误类型: Microsoft VBScript 运行时 (0x800A01B6) 对象不支持此属性或方法:“合并” /_inc/nav/left-nav.inc,第 21 行来自merged(right_size + i + 1) = right(i) 行。关于我哪里出错了有什么智慧吗?
【问题讨论】:
-
收到该错误时的输入是什么?
-
只是把它扔在那里 --
LEFT和RIGHT是 VBScript 中的函数。代码是否可能实际上是在right(i)上吐槽?您可能想要更改函数的参数名称。
标签: arrays function asp-classic merge