SeAr - set和setarray在設定矩陣變數的時的須知
測試版本: SeAr_1.7.277感謝:
a91323 提出腳本Bug回報讓我發覺
Inkfish 的實際確認
o丫コ嘉oO 的訊息
.
以下是測試過程
腳本內碼
deletearray .viewid,128;
for(set .@i,0;.@i<15;set .@i,.@i+1)
{
set .viewid[.@i],rand(999);
set .viewid[.@i+15],.viewid[.@i];
}
announce getarraysize(.viewid),0;
end;
顯示結果
http://i.imgur.com/wNwvx.png
出問題了
應該只有30組數據的矩陣, 卻返回128組?
理由我不清楚
但是改成
deletearray .viewid,128;
for(set .@i,0;.@i<15;set .@i,.@i+1)
{
setarray .viewid[.@i],rand(999);
setarray .viewid[.@i+15],.viewid[.@i];
}
announce getarraysize(.viewid),0;
end;
就沒問題了
http://i.imgur.com/2yXIr.png
以上內容僅供作為提醒使用
實際原因理由我不知道 本帖最後由 PoringRO 於 2012-7-5 08:07 AM 編輯
set 是傳址,setArray傳值
setarray .b,1,2,3,4,5,6,7,8,9,10;
set .a,.b;
.a 會 = 2
第一種情況arraysize才會偏移
事實上後面是有數值出現的 楼上的分析却有道理
事实上后面的数组会出现
0-14a-x
15-29 a-x
30-43 a-v
44 0
45-57 a-u
58-59 0,0
类推
的确符合传址
頁:
[1]