Farklı Şehirlerin Hava Durumlarını Kıyaslamak
Adanamı daha soğuk, Antalya mı ? dediğinizde bu illerin sıcaklık derecelerini öğrenip, hangisi daha soğuk ise size bilgi verse iyi olmaz mıydı ? İşte bu yazıda bu ve benzeri komutların nasıl Yardımcı’ya öğretilebileceğini örnekle anlatacağım.
Komut tanımımız aşağıdaki gibi. Kısa olarak görünmesine rağmen programcılıktan uzak olanlar için karışık görünebilir. Ama CEYD dilini bilenler için kolay bir örnek diyebiliriz.
Bakınız: CEYD Dili Nedir ?
Bakınız: Yeni Komut Oluşturma Örnekleri
SORU ŞABLONU:
(.*?)(?:mi|mı|mü|mu).*(?:daha soğuk)(.*?)(?:mi|mı|mü|mu)(.*?)
SORU KELİMELERİ:
daha soğuk,6
CEVAP ŞABLONU:
1 2 3 4 5 6 7 8 9 |
{!SET d1={!RET $1 hava derece!}!} {!SET d2={!RET $2 hava derece!}!} {!IF $d1>$d2! ?? $2 daha soğuk çünkü $1 {!GET $d1!} derece $2 {!GET d2!} derece :: $1 daha soğuk çünkü $1 {!GET d1!} derece $2 {!GET d2!} derece!} |
Komutu bir örnekle anlatmaya çalışalım: Soru cümlemiz örnekteki gibi Adanamı daha soğuk, Antalya mı ? olsun.
Soru şablonuna göre: Adana 1.grup, Antalya 2.grup olarak çözümleniyor. Grup ifadeleri parantezler içinde yer alıyor. Parantezin hemen başındaki ?: , o grubun sayı olarak ifade edilmemesi gerektiğini belirtiyor. O yüzden 4.grup olarak görünen Antalya esasında önceki gruplarda ?: ifadesi olduğu için 2.grup aslında.
Soru kelimemiz daha soğuk, yani bu kelimeler yakalandığında bu komut işleme alınacak.
Cevap şablonunda CEYD komutları devreye giriyor. Önce $1 grup yani Adana nın derecesi öğreniliyor ve d1 isimli bir değişkene bu değer atanıyor. Aynı şekilde Adana nın derecesi öğrenilip d2 değişkenine atanıyor. IF komutu ile d1 ve d2 değeri karşılaştırılıyor ve sonuca göre cevap dönüyor.
Artık, bu komutu tanımladığımızda başka il ve ilçelerin de hava durumlarını da kıyaslayabilir oluyoruz.
Başka örneklerle buluşmak dileğiyle.