Değişken ve Diziler
CEYD dilinde değişken ve diziler Android üzerinde çalışan CEYD-A için geçerli olmak üzere cihaz üzerine kurulu olan uygulama üzerinde saklanır.
Tek Değer Alan Değişkenler
Değişkenler $ işareti ile başlayan alfanumerik karakterler ile ifade edilirler. Örneğin $aciklama, $icerik1 gibi
Değişkenlere değer atamak için SET, değeri öğrenmek için GET ifadesi kullanılır.
Örnek 1:
1 |
{!SET $a=1!} {!GET $a!} |
Java dilinde karşılığı
1 2 |
int a=1; System.out.print(a); |
Örnek 2:
1 |
{!SET $a={!GET $b!}!} |
Java dilinde karşılığı
1 |
int a = b; |
Örnek 3:
1 |
{!SET $a={!EVAL {!GET $b!}+3!}!} |
Java dilinde karşılığı
1 |
int a = b + 3; |
Çoklu Değer Alan Değişkenler
Değişkenlere sadece tek değer değil, sanki bir diziymiş gibi birden fazla değer de atanabilir.
addtovariable array,valueTek boyutlu diziye değer ataması yapar.
1 2 |
SABLON: {HER}({KELİME1}){İ EKİ} severim{HERSON} CEVAP: {!RET addtovariable staLikeList,{KELİME1}!}Tamam {KELİME1} sevdiğini öğrendim. Yorumlarımda dikkat edeceğim |
listvariable array
Dizi değişkenlerini virgül ile ayrıştırılmış sonuç olarak döner.
1 2 3 4 5 6 7 |
SORU: severim,5 SABLON: {HER}({KELİME1}){İ EKİ} severim{HERSON} CEVAP:{!RET addtovariable staLikeList,{KELİME1}!}Tamam {KELİME1} sevdiğini öğrendim. SORU:seviyorum,5| SABLON:{HERSON}(neleri seviyorum){HERSON} CEVAP:{!RET listvariable staLikeList!} |
Değişken değerleri içinde gezinip yineleme (iterate) yapmak için:
1 2 3 4 5 |
SORU:foreach deneme1 CEVAP:Sevdiklerin şunlar:<br> {!FOREACH $staLikeList as $value {!GET $value!}<br> !} |
resetvariable arrayTüm dizi değişkenlerini siler
1 2 |
SORU:sevdiklerimi sil%,5 CEVAP: {!RET resetvariable staLikeList!}Tamam. sevdiklerini tuttuğum listeyi sildim. |
Diziler
Dizileri anahtar-key (burada relation olarak adlandırıyoruz) ve value-değerini içeren değişkenler topluluğu olarak tanımlayabiliriz.
addtoarray array,relation,value2 boyutlu dizilere atama yapar. array[relation]=value olarak işlem görür
1 2 |
SABLON: (anne|baba|kardeşi|kızı|oğlu|eşi|teyze|amca|dayı|hala)(min|mın|mun|mün){HERSON}(ismi|adı) ({HERSON}) CEVAP: {!RET addtoarray sahip,$1,$4!} Tamam anladım. $1$2 $3 nedir gibi sorular sorabilirsin |
Ayrıca, addtoarray kullanmadan aşağıdaki yapı örneğini kullanabilirsiniz.
1 |
{!SET $staMyFavorites[yazar]=Stephen King!} |
listarray array
1 2 3 4 5 6 7 8 9 |
SORU: kampanya gir,10| CEVAP: {!SET title={!RET inputbox Kampanya ismi ?!}!} {!IF $title!=tamam?? {!SET desc={!RET inputbox Tanımı ?!}!} {!RET addtoarray $title,kampanyalar,$desc!} {!RET kampanya gir!}::Tamam. Kampanyaları girdim.!} SORU:kampanyaları söyle,20| CEVAP:{!RET listarray kampanyalar!} |
resetarray array
1 2 3 |
SORU: kampanyaları sil,20| CEVAP: {!RET resetarray kampanyalar!} Mevcut kampanyaları sildim |
cmddeletekey key,array
array dizisi içindeki key ile gösterilen satırı siler
searcharray variable,array,value
2 boyutlu dizi içinde value değerini SQL sözdizimindeki LIKE gibi eşleme yaparak aratır ve bulunan value değerlerinin tam halini döner.
1 2 3 |
SORU: kampanyasını söyle,20| SABLON: ({HER1}) kampanyasını söyle{HERSON} CEVAP: {!RET searcharray {HER1},kampanyalar,%%!} |
Diziler içinde yineleme yapmak için:
1 2 3 4 5 6 |
SORU: foreach deneme CEVAP: Favorilerin şunlar: {!FOREACH $staMyFavorites as $key => $value ANAHTAR:{!GET $key!}<br> DEĞER:{!GET $value!}<br> !} |