Tekil Mesaj gösterimi
Alt 30 Ağustos 2005, 09:52   #14
Çevrimdışı
el33t
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



While loop kullanmaktansa Regex kullanabiliriz. Ben $regsub() kullanmayı uygun gördüm çünkü $regsub() önce regex eşleşmesi yapıyor yani aynı $regex() gibi, daha sonra yardımcı bi text kullanarak önceden aldığımız texti değiştiriyor. Benzetmek gerekirse $replace() mantığı da diyebiliriz.

alias hmm { var %text = $1-, %done, %o = $regsub(%text, /(.)\1+/g, \1, %done) | return %done }

Yukardaki kodu remote'a (ALT+R) koyup $hmm(istediğiniz cümleee) yi yazdığınızda aynı CMaster'ın yazdığı gibi yanyana olan harfleri teke indirgiyor, onunkinden tek farkı daha hızlı olması.

Parametreleri anlatmak gerekirse;

() - ayırma parantezleri, parametreleri birbirinden ayırmaya yarıyor.
\1 - ilk saklanan eşitlik
+ - bir ya da daha fazla
g - birden çok kez karşılaştır.
// gerçek regexin içeriğini kuşatıyor, çeviriyor.

$regsub()'ın kullanımı ise,
$regsub(istediğimiz bi text,kullanacağımız regex içeriği,daha sonra yeri değiştirilecek text)

on @*:text:*:#arslan:{ if ($nick isreg #) { inc -u60 $+(%,repeat.,$chan,.,$nick,.,$hmm($replace($strip( $1-),$chr(32),$chr(46)))) | if ($($+(%,repeat.,$chan,.,$nick,.,$hmm($replace($str ip($1-),$chr(32),$chr(46)))),2) >= 3) { kick # $nick tekrar etme. } } }


Konu el33t tarafından (30 Ağustos 2005 Saat 10:00 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet