IRC ve mIRC Platformu  

Geri git   IRC ve mIRC Platformu > mIRC Scripting > mIRC Scripting Dersleri

mIRC Scripting Dersleri Mirc Scripting Kodlama Eğitim

  
 
Seçenekler Stil
  #1  
Alt 19 Temmuz 2022
Root Admin
 
Şehir istanbul
Üyelik tarihi: 07 Ekim 2021
Mesajlar: 1.006
Aldığı Beğeni: 6
Verdiği Beğeni: 5
Arrow $$ Identifier - $$ Tanımlayıcısı

Yazan: Feragat

$$ Tanımı

Mirc.chm açıklaması

Kod:
The double $$ means that this command will only be executed if a parameter is specified. If you specify only one parameter in the above command it will not be executed.
Bu tanımlayıcı, başına geldiği tanım $null dönerse betiği durdurur. Görev sonlandırma koşullarının yerine bile kullanılır ve işlemi basitleştirir.

Daha iyi anlaşılması adına örneklerle açıklayalım.
-
Örnek 1
Kod:
alias deneme { echo 4 -a 2. Kelime $qt($2) }
/deneme selam yapılınca çıkan sonuç -: 2. Kelime ""
2. kelimeyi yazmadığımız için $2 boş döndü ve sonuç vermedi
/deneme selam naber yapılınca çıkan sonuç -: 2. Kelime "naber"
Normal şartlarda 2. Kelime yokken sonuç dönmesin istersek yapacağımız işlem, bir koşul oluşturmak olur.
Kod:
alias deneme {
if ($2) { echo 4 -a 2. Kelime $qt($2) }
}
/deneme selam yapılınca herhangi bir sonuç dönmedi, Çünkü koşulda eğer $2 değeri varsa sonuç dönsün istedik.
/deneme selam naber yapılınca çıkan sonuç -: 2. Kelime "naber"
Bir koşul kullanmadan, eğer $2 değeri girilmişse echo ile sonuç yaz, $2 değeri yoksa işlemi durdur demek için $$ tanımını kullanırız. Burada 2. $ karakteri ile bir koşuldan kurtulmuş oluruz.
Kod:
alias deneme { echo 4 -a 2. Kelime $qt($$2) }
/deneme selam yapılınca çıkan sonuç -: Sonuç yok, çünkü $2 girilmedi ve $2 değeri $null(boş) olduğu için işlemi durdurdu.
/deneme selam naber yapılınca çıkan sonuç -: 2. Kelime "naber"
Tabi ki bu işlemi pek çok alanda kullanabilirsiniz. Örneğin döngülerde.
-
Örnek:
-
Kanalda bulunan nickleri sıralamak için bir döngü kullanalım.
Kod:
alias deneme { 
  var %a = 1
  while (%a <= $nick(#msl.tr,0)) {
    echo -a $nick(#msl.tr,%a)
    inc %a
  }
}
/deneme komutundan çıkan sonuç

Kod:
Feragat
SrjN
pC`kOpAt
YouMyCure
While döngüsünde belirttiğimiz koşul gerçekleşene kadar sonuç verdi.

Koşul kullanmadan nickleri sıralayalım
Kod:
alias deneme { 
  while . {
    inc -u %a
    echo -a $$nick(#msl.tr,%a)
  }
/deneme komutundan çıkan sonuç
Kod:
Feragat
SrjN
pC`kOpAt
YouMyCure
Yukarıda herhangi bir koşul kullanılmadı.
%a değişkenine inc komutu ile her değer atandığında 1 arttı. Kanalda 4 nick olduğu için %a değişkeni 4 olana kadar döngü devam etti, 4 ü geçtiğinde $$nick(#msl.tr,%a) yani $nick(#msl.tr,5) ve üzeri rakamlar sonuç dönmeyeceği için (* /echo: insufficient parameters) döngü durduruldu. Break edildi.
$nick(#msl.tr,1) - $nick(#msl.tr,2) - $nick(#msl.tr,3) - $nick(#msl.tr,4)
-
Küçük not: inc komutundaki –u parametresi normalde arttırılan değişkeni belirtilen süre sonrasında siler(saniye cinsinden)
/inc -u2 %ç yaptığımızda %ç değişkenini 1 arttırır ve 2 saniye sonra siler.
-
Sonuç:
Kod:
* Inc %ç to 1
-
* Unset %ç
Eğer döngüde süre belirtmeden inc –u %değişken kullanırsak işlem bittiğinde %değişken i siler. –u kullanmasaydık /deneme komutunu her kullandığımızda değişken üst üste sayacaktı ve $nick(#msl.tr,%a) 1. Kullanımdan sonra hiç sonuç vermeyecekti.

Takıldığınız yerleri konu altından sorabilirsiniz.

Faydalı olabilecek kaynaklar.
-
1- https://en.wikichip.org/wiki/mirc/identifiers/$$


Kolay gelsin.
__________________
Biz kimseye ölmedik, kimse de bize bayılmasın.


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 05:18.



Forum Hakkında

Forum Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.

Yararlı Linkler

Sosyal Paylaşım


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0
ircDe.Net Tema Yapımcısı ve Sahibi: miZah