Joseph
Guest
Aşağıdaki maç komut kodu sayıları içeren dizelere uygulanır ( 0 ve 9 arasında) aldatılabilir.
E.g. str dizesini tanımlarım:
(setq str "var1 var2 var3 var4 var5")
Bu nedenle bazı karşılaştırmalar ve sonucu yankılıyorum.
1) (wcmatch str "*var[2-59]*)
2) (wcmatch str "*var[6-89]*) >Nil
(wcmatch str)[6-92]** **
Yanlış sebep:
1) t ortaya çıktığı gibi, doğru olduğunu söylemek cazip, çünkü var2'den 99'a kadar aralığın en az bir dizesi var1 ve var5 arasında.
2) nil ortaya çıktığı gibi, burada bile doğru olduğunu söylemek cazip, çünkü var6'dan gelen aralığın 10 ila 5. arasında aralığı tamamen dışsal olduğu için.
3) Daha önceki sebeplere göre, nil'i bekleyebileceğim, çünkü var6'dan gelen aralığın2'ye kadar tamamen dışsaldır5.
Yardımı iyi okumak, wcmatch'in bir anda bir karakterle karşılaştırdığını fark ettim, bu yüzden kod [6-92] Bu şekilde okunmalıdır: var6 ve var9 ve dize var2 arasında aralığı; bu nedenle str dize ile karşılaştırmak için alt satırlar:
Var6, var7, var8,var9 ve var2, ve bu, var1 ve var5 arasındaki sonucu ortaya çıkaran ikincisidir.
E.g. str dizesini tanımlarım:
(setq str "var1 var2 var3 var4 var5")
Bu nedenle bazı karşılaştırmalar ve sonucu yankılıyorum.
1) (wcmatch str "*var[2-59]*)
2) (wcmatch str "*var[6-89]*) >Nil
(wcmatch str)[6-92]** **
Yanlış sebep:
1) t ortaya çıktığı gibi, doğru olduğunu söylemek cazip, çünkü var2'den 99'a kadar aralığın en az bir dizesi var1 ve var5 arasında.
2) nil ortaya çıktığı gibi, burada bile doğru olduğunu söylemek cazip, çünkü var6'dan gelen aralığın 10 ila 5. arasında aralığı tamamen dışsal olduğu için.
3) Daha önceki sebeplere göre, nil'i bekleyebileceğim, çünkü var6'dan gelen aralığın2'ye kadar tamamen dışsaldır5.
Yardımı iyi okumak, wcmatch'in bir anda bir karakterle karşılaştırdığını fark ettim, bu yüzden kod [6-92] Bu şekilde okunmalıdır: var6 ve var9 ve dize var2 arasında aralığı; bu nedenle str dize ile karşılaştırmak için alt satırlar:
Var6, var7, var8,var9 ve var2, ve bu, var1 ve var5 arasındaki sonucu ortaya çıkaran ikincisidir.