Re: [wizs] 重寫的 times_check

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間12年前 (2013/10/02 12:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
今天再修改 times_check 處理 set_times_check 及 no_save 時 的錯誤,由 justin 實測及發現。 jj=sizeof(tmps2); for(ii=0;ii<jj;ii++) if(times_check[tmp][ii][0]==names && times_check[tmp][ii][1]==files) jj=-1; if(jj!=-1) times_check[tmp]+=({ ({names,files,tmps}) }); 改成這樣即可,上面的判斷是說在做 set_times_check 時,若現 時 times_check 裡面已經有相同的資料(if ... && ...),jj=-1 ,就不允許做資料的累加。 之前的問題則是這部份判斷錯誤,造成不該累加的資料它也累加, 原先的寫法錯誤的地方在於它只要判斷到現存的有一筆不 match 就累加,至於為何會這樣寫是因為之前是 mapping 寫法,mapping 時.. if(times_check[tmp][tmp2][0]!=names || ... mapping 是一對一的(每一筆 tmp2 是獨立的),而改成 mixed 時 因為陣列資料不能用 member_array 去判斷只好用 for 去判斷, 然後就這樣產生失誤。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.157.53
文章代碼(AID): #1IIvmFG9 (mud_sanc)
文章代碼(AID): #1IIvmFG9 (mud_sanc)