2015-10-28 47 views
-1

的数组的长度我想找到阵列如何找到阵列

这里的数组的长度是我的代码

array set partarray 
Set n [array size partarray ] 

但partarray又是一个数组

Partarray = 

Partarray(EIDS)= 1 2 3 

Partarray(NIDS)= 3 2 5 4 3 

Partarray(PIDS)= 2 3 4.... 

现在我必须找到 Partarray(PIDS)的长度?

因此,谁能帮我这个

在此先感谢

回答

1

这不是数组的数组完全相同。在Tcl中,这只是模拟多维数组的方便之处。因此,从Tcl的角度来看,它只是一个包含3个元素的数组,每个元素都有一个与其相关的元素列表。

如果你故意想知道,那么你可以遍历数组,并为每个元素获取数组大小。

% array set u {} 
% set u(1) 1 
1 
% set u(2) 2 
2 
% array set f {} 
% set f(a) [array get u] 
1 1 2 2 
% array size f 
1 
% array size u 
2 
% 
+0

我曾尝试用:阵列设置partarray 设置N [数组大小partarray {3}],并把$ N,但它不工作。我对tcl很陌生,你能不能让我知道错误 –

+0

如前所述,你应该循环数组,然后为每个元素尝试'数组大小' – Dinesh

+1

你可以使用'array get'的glob模式来限制返回。例如,'array get u 12,*'。并使用'llength $ Partarray(PIDS)'作为数组元素中_list_的长度。 –