Neler yeni

$wildtok identifier kullanımı

Disket

Moderatör
Katılım
24 Nis 2019
Mesajlar
1,000
Tepkime puanı
3
Konum
Ankara
$wildtok(token,wildstring,N,C) ;


Bu identifier adından'da belli olduğu gibi wilcard kullanılan bir token'dir.
Benzerlik olarak $matchtok identifier'ı ile bir uyumluluğu vardır.
Ama $wildtok identifier'ında wildcard(s) kullanabiliyoruz.
Wildcards: "*" "?" karakterleridir.
Wildcard açıklaması; Örneğin ders kelimesini ele alalım.
Karakterini ders kelimesinin başında kullanırsak(ders);
ders kelimesi ile biten kelimeler manasına gelir.
Karakterini ders kelimesinin sonunda kullanırsak(ders);
ders kelimesi ile başlıyan kelimeler manasına gelir.
Karakterini ders kelimesinin hem başında hem'de sonunda kullanırsak(ders);
içerisinde ders kelimesi geçen kelimeler manasına gelir.
? Karakteri ise, bilinmeyen karakter yerine kullanılır. Örneğin; der?ler gibi.
Bu bilgilerden yola çıkarak $wildtok identifier'ı hakkında bilgi sahibi olalım.
Token: İçerisinde wildcard kullanılmış string(veri) aranılacak text.
Wildstring: Wildcards kullanılmış text oluyor.
N: Sıra numarası oluyor bildiğiniz gibi.
C: Ascii karakteri oluyor yine bildiğiniz gibi.
Örneğin; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,i,0,32) yaptığınızda; 4 cevabını alırız.
Yani içerisinde i harfi geçen 4 adet kelime varmış bu cümlede.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,i,1,32) yaparsak;
İçerisinde i harfi geçen 1. kelimeyi okutur. Bu kelimede; dersin oluyor.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,i,2,32) yaparsak;
İçerisinde i harfi geçen 2. kelimeyi okutur. Bu kelimede; geldik oluyor.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,i,3,32) yaparsak;
İçerisinde i harfi geçen 3. kelimeyi okutur. Bu kelimede; biliyorsunuz oluyor.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,i,4,32) yaparsak;
İçerisinde i harfi geçen 4. kelimeyi okutur. Bu kelimede; değilmi? oluyor.
Yani soldan sağa doğru okunmakta token identifier'larında bunu unutmayın.
Son bilgi olarak; $wildtok identifier'ında cs(case sensitive) kullanabilirsiniz.
Bildiğiniz gibi büyük/küçük harf duyarlılığı için kullanılmaktadır.($wildtokcs)

-Çok fazla tercih edilmesede oldukca kullanışlı bir identifier olduğunu söylemek lazım.

Yukarıda verilen örnekleri biraz daha anlaşılır şekilde kelime olarak verelim bu identifier i çok seviceğinizi düşünüyorum...

Kod:
if  (*selam* iswm $1-) { işlem }
yukarıdaki kullanım bizlere çok tanıdık gelebilir çünki bir çok calışmalarda karşımıza cıkar ve görürüz. Bu kullanıma alternatif olarak ve icerisinde 1. 2. 3. kelime gibi ayrımlar yapabiliceğimiz wildcard destekli bir identifier dan bahsediyoruz; $wildtok ...
Kod:
on *:input:#deneme: {
  if $wildtok($1-,sela?,1,32) { msg # deneme başarılı }
}
Yaptığımızda görüntü;
[22:32:17] <Mylife> selam naber
[22:32:17] <Mylife> deneme başarılı
cevabını alırız.
 
Üst