TSL语言基础 > 矩阵计算 > 矩阵查找和遍历的保留字和算符

:.    

  •   矩阵深度遍历算符,不假定维度数,而是对数组的节点进行深度遍历。是对::算符的功能扩展,使用方式和::一致,对于fmarray而言行为一致,但对于数组Array,::最多只能遍历两维,而:.是遍历到最深维度。
    一般用法同::,比如对二维数组的遍历:
    B:=array();
    A:=array((1,2,3),(2,3,4));
    A:.begin
     B[mRow][mCol]:=mCell;
    end;
    我们看到对A遍历的时候对B进行赋值,结果B和A的内容相同。相当于B:=A;

    再比如,对多维数组与不完全矩阵的遍历,与::的差异对比如下:
    :. 遍历->深度遍历:: 遍历
    t:=array(10,12,("A":(30),"B":22),("A":(31,32),"B":23));
    t2:=array();
    k:=0;
    t:.begin
      mc:=mIndexCount;//总维度
      t2[k++]:=array("v":mcell,"总维度":mc);
    end
    return t2;

    t:=array(10,12,("A":(30),"B":22),("A":(31,32),"B":23));
      t2:=array();
      k:=0;
      t::begin
        mc:=mIndexCount;//总维度
        t2[k++]:=array("v":mcell,"总维度":mc);
      end
      return t2;

    返回:

    返回:

    从结果中可以看出,:.遍历到了第三维。
    从结果可以看出,::遍历最多可到第二维。