Kod Örnekleri: Diziler
Bu örneğimizde en sevdiğimiz konuları dizi değişkenlerine atalım ve bunları ekrana yazalım. Bu örneğin amacı sadece CEYD dilinde dizileri nasıl kullanıcığımıza yönelik olacak. Komutun soru isminden anlaşılacağı gibi test test dediğimizde diziye verileri atayacak sonrasında bunları ekranda gösterecek.
staMyFavorites isminde bir dizimiz var. Bu diziye
renk->yeşil
yemek->mantı
yazar->Stephen King
değerlerini atalım. Bu şekilde en sevdiğimiz yemeği, rengi ve yazarı belirlemiş oluyoruz.
Örnekte 2 şekilde atama gösterilmiş: addtoarray kullanarak veya SET ile diziye direk atama yaparak.
GET ile dizimizin içindeki ilgili değeri alıyoruz.
listarray komutu diziyi ; ile ayrıştırılmış uzun bir cümleye dönüştüyor.
Başka deyişle: {!SET $keys={!RET listarray staMyFavorites!}!}
ifadesi ile keys değişkenine renk;yemek;yazar cümlesi atılıyor.
cmdsplitandfetch ile keys değişkeni ; ile ayrıştırılıp istenilen yerdeki kelime çekilip alınıyor. 0 numaralı gözde ilk kelime renk bulunuyor. 1 numaralı gözde ikinci kelime yemek bulunuyor.
Bu örneği çalıştırdığımızda görüntüdeki gibi bir sonuç ortaya çıkıyor. sadece 3 anahtar gözü olduğu için sondaki 4.kez kullanılan anahtar boş değer dönüyor çünkü böyle bir değer yok. Sondaki kodu örnek olarak vermemdeki amaç istersek FOR döngüsünde IF ile sona gelindiğini kontrol edebileceğini göstermek.
{!IF $anahtar3==??Bu değişken boş::Bu değişken dolu!}
gibi bir kontrolle bunu yapmak mümkün.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
SORU: test test CEVAP: {!RET addtoarray renk,staMyFavorites,yeşil!} {!RET addtoarray yemek,staMyFavorites,mantı!} {!SET $staMyFavorites[yazar]=Stephen King!} RENK:{!GET $staMyFavorites[renk]!}<br> {!SET $keys={!RET listarray staMyFavorites!}!} {!SET $anahtar0={!RET cmdsplitandfetch ;,0,$keys!}!} ANAHTAR:{!GET $anahtar0!}<br> DEĞER:{!GET $staMyFavorites[{!GET $anahtar0!}]!}<br> {!SET $anahtar1={!RET cmdsplitandfetch ;,1,$keys!}!} ANAHTAR:{!GET $anahtar1!}<br> DEĞER:{!GET $staMyFavorites[{!GET $anahtar1!}]!}<br> {!SET $anahtar2={!RET cmdsplitandfetch ;,2,$keys!}!} ANAHTAR:{!GET $anahtar2!}<br> DEĞER:{!GET $staMyFavorites[{!GET $anahtar2!}]!}<br> {!SET $anahtar3={!RET cmdsplitandfetch ;,3,$keys!}!} ANAHTAR:{!GET $anahtar3!}<br> DEĞER:{!GET $staMyFavorites[{!GET $anahtar3!}]!}<br> |
Edit:
FOR Döngüsü ile kodumuzu daha dinamik hale getirelim. Son hali aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{!RET addtoarray renk,staMyFavorites,yeşil!} {!RET addtoarray yemek,staMyFavorites,mantı!} {!SET $staMyFavorites[yazar]=Stephen King!} {!SET $keys={!RET listarray staMyFavorites!}!} {!RET cmdsplit ;,array,$keys!} {!SET staMyFavoritesSize={!GET staArraySize!}!} {!FOR $i=0,$staMyFavoritesSize {!SET $j={!RET cmdfetchnumbers 0,{!GET $i!}!}!} {!SET $anahtar={!RET cmdsplitandfetch ;,{!GET $j!},$keys!}!} ANAHTAR:{!GET $anahtar!} DEĞER:{!GET $staMyFavorites[{!GET $anahtar!}]!} {!SET $i+=1!} !} |
Komutu daha da geliştirince aşağıdaki komutlar da etkilenmeye başlıyor: