Diziler ve Sözlükler
Lordex'te karmaşık veri yapıları oluşturmak için diziler ve sözlükler kullanılır.
Diziler (Arrays)
Dizi Oluşturma
// Boş dizi
bos_dizi = []
// Elemanlarla dizi
sayilar = [1, 2, 3, 4, 5]
meyveler = ["Elma", "Armut", "Muz"]
karisik = [1, "iki", 3.14, evet]
Dizi Elemanlarına Erişim
meyveler = ["Elma", "Armut", "Muz", "Çilek"]
ilk = meyveler[0] // "Elma"
ikinci = meyveler[1] // "Armut"
son = meyveler[3] // "Çilek"
yaz(ilk)
İndeks Uyarısı
Diziler 0'dan başlar. İlk eleman dizi[0], ikinci eleman dizi[1] şeklindedir.
Dizi Güncelleme
sayilar = [10, 20, 30]
sayilar[1] = 99
yaz(sayilar) // [10, 99, 30]
Dizi İşlemleri
// Eleman ekleme
liste = [1, 2, 3]
ekle(liste, 4)
yaz(liste) // [1, 2, 3, 4]
// Uzunluk
yaz(uzunluk(liste)) // 4
// Eleman silme
sil(liste, 0) // İlk elemanı sil
yaz(liste) // [2, 3, 4]
Diziler Üzerinde Döngü
meyveler = ["Elma", "Armut", "Muz"]
icin (meyve in meyveler) {
yaz("- " + meyve)
}
İç İçe Diziler (Matris)
matris = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
// Erişim
eleman = matris[0][1] // 2 (1. satır, 2. sütun)
yaz(eleman)
// Döngü ile gezinme
icin (satir in matris) {
icin (eleman in satir) {
yaz(eleman)
}
}
Sözlükler (Dictionaries)
Sözlük Oluşturma
// Boş sözlük
bos_sozluk = {}
// Elemanlarla sözlük
kisi = {
"ad": "Ahmet",
"soyad": "Yılmaz",
"yas": 30,
"sehir": "İstanbul"
}
Sözlük Erişimi
kisi = {
"ad": "Ahmet",
"yas": 25
}
isim = kisi["ad"] // "Ahmet"
yas = kisi["yas"] // 25
yaz("İsim: " + isim)
yaz("Yaş: " + yas)
Sözlük Güncelleme
kisi = {"ad": "Ali", "yas": 20}
// Değer değiştirme
kisi["yas"] = 21
// Yeni anahtar ekleme
kisi["sehir"] = "Ankara"
yaz(kisi)
İç İçe Sözlükler
ogrenci = {
"ad": "Ayşe",
"notlar": {
"matematik": 90,
"fizik": 85,
"kimya": 88
},
"iletisim": {
"email": "ayse@example.com",
"telefon": "555-1234"
}
}
// Erişim
mat_notu = ogrenci["notlar"]["matematik"]
yaz("Matematik notu: " + mat_notu)
Karmaşık Yapılar
// Öğrenci listesi
ogrenciler = [
{"ad": "Ali", "not": 85},
{"ad": "Ayşe", "not": 92},
{"ad": "Mehmet", "not": 78}
]
// Döngü ile gezinme
icin (ogr in ogrenciler) {
yaz(ogr["ad"] + ": " + ogr["not"])
}
Pratik Örnekler
Telefon Rehberi
rehber = {
"Ali": "555-1234",
"Ayşe": "555-5678",
"Mehmet": "555-9012"
}
isim = oku("Kimi arıyorsunuz?")
telefon = rehber[isim]
yaz("Telefon: " + telefon)
Envanter Sistemi
urunler = [
{"ad": "Kalem", "fiyat": 5, "stok": 100},
{"ad": "Defter", "fiyat": 15, "stok": 50},
{"ad": "Silgi", "fiyat": 3, "stok": 200}
]
yaz("=== ÜRÜNLER ===")
icin (urun in urunler) {
yaz(urun["ad"] + " - " + urun["fiyat"] + " TL")
yaz("Stok: " + urun["stok"])
yaz("---")
}
İpuçları
En İyi Pratikler
- Dizi elemanlarına erişmeden önce uzunluğu kontrol edin
- Sözlük anahtarlarının var olduğundan emin olun
- İlgili verileri sözlüklerde gruplayın
- Karmaşık veriler için iç içe yapılar kullanın
Dikkat Edilmesi Gerekenler
- Geçersiz dizi indeksi hata verir
- Olmayan sözlük anahtarına erişim hata verebilir
- Diziler değiştirilebilir (mutable), dikkatli olun
Sonraki Adımlar
- Fonksiyonlar - Dizilerle fonksiyonlar
- Built-in Fonksiyonlar - Dizi/sözlük fonksiyonları
- Örnekler - Veri yapıları örnekleri