Yer Bilgisini Kullanan Bir Komut Oluşturma
Kendi komut kurgularınızı CEYD dili desteği ile kod yazarak veya sürükle-bırak-yap-boz şeklinde kod yazmadan blok tasarımı oluşturarak geliştirebilirsiniz.
Geliştiriciler için yararlı olabilecek bu örnek ile parametre olarak kullanıcının belirttiği yer bilgisine ihtiyaç olan bir komut oluşturalım. Ayrıca, eğer parametre girilmemiş ise o anki yer bilgisini alıp parametre olarak kullanabilsin.
Örneğin HAVA KAÇTA KARARIYOR isminde bir komut oluşturalım. Sonuç olarak bize o an bulunduğumuz şehrin akşam namazı vaktini versin. Eğer bir şehir soruyorsak ise örneğin ANKARADA HAVA KAÇTA KARARIYOR, o zaman Ankara nın akşam namazı vaktini versin. Yani parametre olarak il bilgine ihtiyacımız var . Eğer ili söylemezsek o anki konumun şehrini bulup sorgulamalı.
Önce komut girişi ekranına girelim https://kodla.ceyd-a.com. Buradan kendi bilgilerimizle giriş yaptıktan sonra YENİ KOMUT oluşturalım.
Toplam 3 alanı dolduracağız SORU ŞABLONU, SORU KELİMELERİ ve CEVAP ALANI ve sonrasında Güncelle tuşuna basacağız.
Şimdi alanlara bakalım:
Parametreleri bildiğiniz gibi SORU ŞABLONU bölümüne çoğu geliştiricinin bileceği üzere Regex formatında giriyoruz.
(.*?)(de |da |te |ta |için )*hava kaçta kararıyor.*
Ankara için hava kaçta kararıyor, İstanbulda hava kaçta kararıyor, Samsun hava kaçta kararıyor, Rizede hava kaçta kararıyor gibi cümleler bu formata uyuyor ve buradaki şehir isimleri (.*?) ifadesi ile yani 1.grup parametresi ile örtüşüyor. O halde CEVAP alanımızda $1 parametresini kullanırsak bu yukarıdaki cümlelerdeki şehir ne ise cevaba o şehir yansıyacaktır.
SORU KELİMELERİ olarak
hava kaçta kararıyor,15
yazalım
CEVAP ALANINA ise
{!SET sehir={!IF $1== ?{!RET hangi şehirdeyim!}:$1!}!}{!RET {!GET sehir!} için akşam vakti!}
yazalım.
ÖRNEK İLE ANALİZ:
Şimdi kümeler içindeki ifadelerin ne anlama geldiğine örnek vererek kısaca bakalım. Ankarada hava kaçta kararıyor dediğimizi varsayalım. İçiçe kümelerde önce en alt kümenin işlendiğini biliyoruz. En alttaki küme
{!RET hangi şehirdeyim!}
bu ifade size bulunduğunuz şehri döner. Diyelim İstanbul’dasınız o zaman bu kümenin değeri İstanbul olacak ve CEVAP alanındaki ifade şu şekile derlenecek
{!SET sehir={!IF $1== ?İstanbul:$1!}!}{!RET {!GET sehir!} için akşam vakti!}
Dönüşen ifadenin yeni haline baktığımızda sonraki işlenecek küme ise IF alt kümesi:
{!IF $1== ?İstanbul:$1!}
Burada $1 parametresi boş olsaydı (YANİ Ankarada hava ne zaman kararıyor yerine şehir kullanmadan Hava ne zaman kararıyor deseydik) o an bulunduğumuz şehir yani İstanbul değeri dönecekti.
Ancak Ankarada hava kaçta kararıyor dediğimiz için $1 parametresi Ankara olacak ve bu kümenin değeri olarak Ankara dönecektir.
İfadenin yeni hali ise şu şekile dönüşüyor:
{!SET sehir=Ankara!}{!RET {!GET sehir!} için akşam vakti!}
Yorumlayıcı sistem bundan sonra {!SET sehir=Ankara!} yı işliyor. Bu da sehir değişkenine Ankara yı atıyor.
Tüm ifadenin yeni hali ise daha da basitleşiyor:
{!RET {!GET sehir!} için akşam vakti!}
Burada içte bir küme bulunmakta {!GET sehir!} .Sistem bu kümeyi işliyor. sehir değişkenindeki değeri yani Ankara yı dönüyor. İfadenin yeni hali:
{!RET Ankara için akşam vakti!}
Artık sadece yorumlanacak bir küme bulunmakta. Sistem Ankara için akşam vakti komutunu çağırıyor ve namaz vaktini dönüyor.
Artık CEYD-A ya hava kaçta kararıyor dediğimizde bulunduğunuz ilin akşam vaktini, eğer şehir ismini sorarak hava kaçta kararıyor dediğimizde o şehrin akşam vaktini söyleyecektir.
Not: Oluşturulan komutlar bir sonraki CEYD-A yı açtığınız zaman devreye girer.


evet sonunda genensy yani skynet termınatorler yaklastı