我知道这是一个非常愚蠢的问题,但任何人都可以帮助我理解这些行:
dim dmnth = array()
Redim dmnth(Rs_emp_count + 1, Rs_proj_count + 1, total_days + 1)
dmnth(emp_cnt, prj_cnt, 0) = pname & " (" & pid & ")"
提前致谢。
我知道这是一个非常愚蠢的问题,但任何人都可以帮助我理解这些行:
dim dmnth = array()
Redim dmnth(Rs_emp_count + 1, Rs_proj_count + 1, total_days + 1)
dmnth(emp_cnt, prj_cnt, 0) = pname & " (" & pid & ")"
提前致谢。
dim dmnth = array()
这是一个无效的声明。在 VBScript 中,您不能在单个语句中声明一个变量并用一个值对其进行初始化。应该是
Dim dmnth
dmnth = Array()
或更短
Dim dmnth : dmnth = Array()
它声明一个变量dmnth
并用一个空数组初始化变量。但是,这仅在您想要创建一个空的一维数组时有用,该数组将在保留其值的同时动态增长(也可以通过 实现ReDim arr(-1)
)。由于您的数组有 3 个维度,因此此初始化毫无意义。下面的命令足以声明和初始化。
Redim dmnth(Rs_emp_count + 1, Rs_proj_count + 1, total_days + 1)
如果dmnth
已经声明,这会将变量的大小调整为 3 维数组,其上限位于Rs_emp_count + 1
第 1维、Rs_proj_count + 1
第 2维和total_days + 1
第 3维。数组的任何内容都将被丢弃。如果尚未声明,则将其声明并初始化为具有给定上限的 3 维数组。dmnth
dmnth(emp_cnt, prj_cnt, 0) = pname & " (" & pid & ")"
这会将一个从数组字段构造的字符串pname
放入pid
位置emp_cnt
, prj_cnt
,的数组字段中0
。
dim dmnth = array()
; this 设置dmth
为函数的返回值array()
;不管那是什么。这是程序中不必要的步骤;除非array()
除了返回值之外还做一些有用的事情。
Redim dmnth(Rs_emp_count + 1, Rs_proj_count + 1, total_days + 1)
; 这会破坏dmth
; 替换dmnth
为具有大小的 3D 数组,分别为每个维度Rs_emp_count + 1
,Rs_proj_count + 1
和total_days + 1
。所有元素都被清除。
dmnth(emp_cnt, prj_cnt, 0) = pname & " (" & pid & ")"
赋值pname & " (" & pid & ")"
给(emp_cnt, prj_cnt, 0)
数组的元素。请记住,VBScript 中的数组是从零开始的。即 (0, 0, 0) 是有效元素。
首先 dmnth 被声明为一个数组。然后将其重新声明为 3 维数组。然后将 Emp_cnt, Prj_Cnt, 0th entry 设置为 pname & " (" & pid & ")"