更新ZigZag遍历任意二维数列的代码,行列数相等和不等都可以。
/*ZigZag遍历任意二维数组
*/
global ar:=object()
a=5 ;行
b=7 ;列
c :=a+b-1 ;对角线数量
make_array(a,b)
loop, % c
{
sn2:=a_index
loop, % sn2
{
if (mod(sn2,2)=0)
{
tmp.=ar[a_index, sn2+1-a_index] ? ar[a_index, sn2+1-a_index] . "|" : ""
}
else
{
tmp.=ar[sn2+1-a_index, a_index] ? ar[sn2+1-a_index, a_index] . "|" : ""
}
}
}
msgbox, % tmp
return
/*生成一个二维数组
*/
make_array(x,y)
{
loop, % x
{
aa:=A_Index
loop, % y
{
ar[aa,A_index]:=a_index+(aa-1)*y
}
}
return, % ar
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
大佬你这个 tmp.=ar[sn2+1-a_index, a_index] ? ar[sn2+1-a_index, a_index] . “|” : “” 是什么用法 我没能领悟他的用法?:和.的结合体吗? 能说一下用法吗
make_array(x,y) 改为 make_array(y,x) (mod(sn2,2)=0) 改为 (mod(sn2,2)=1) 结果就对了