Kod örnekleri

On beş küçük program ve çok dosyalı bir örnek.

Her örnekte açıklama, kopyalanabilir v0.3.0 kaynak kodu ve beklenen çıktı bulunur; örnekler resmî paketle eşleşir.

Örnek program

Merhaba dünya

yaz yerleşiğiyle terminale ilk Soz çıktınızı gönderin.

01 / 15
merhaba-dunya.soz
yaz("Merhaba dunya")
Çıktı
Merhaba dunya

Örnek program

Koşul

eger ve degilse dallarıyla yaş değerine göre farklı bir sonuç üretin.

02 / 15
kosul.soz
yas = 18 eger yas >= 18:    yaz("Yetiskin")degilse:    yaz("Cocuk")
Çıktı
Yetiskin

Örnek program

While döngüsü

iken döngüsüyle sayaç koşulu doğru kaldığı sürece ilerleyin.

03 / 15
while-dongusu.soz
i = 0 iken i < 5:    yaz(i)    i = i + 1
Çıktı
0
1
2
3
4

Örnek program

Tekrar döngüsü

Bir liste üzerinde tekrar ... icinde ... yapısıyla dolaşın.

04 / 15
tekrar-dongusu.soz
tekrar i icinde aralik(0, 5):    yaz(i)
Çıktı
0
1
2
3
4

Örnek program

Faktöriyel

Özyinelemeli bir islev tanımlayıp 5 faktöriyeli hesaplayın.

05 / 15
faktoriyel.soz
islev faktoriyel(n):    eger n <= 1:        don 1    don n * faktoriyel(n - 1) yaz(faktoriyel(5))
Çıktı
120

Örnek program

Liste işlemleri

Listeyi yerinde değiştirin, değer arayın ve elemanları kaldırın.

06 / 15
liste-islemleri.soz
liste = [1, 2]ekle(liste, 3)yaz(liste)yaz(icerir(liste, 2))yaz(cikar(liste, 2))yaz(sil(liste, 0))yaz(liste)
Çıktı
[1, 2, 3]
dogru
dogru
1
[3]

Örnek program

Metin işlemleri

Kırpma, harf dönüşümü, parçalama, birleştirme ve değiştirmeyi birlikte kullanın.

07 / 15
metin-islemleri.soz
mesaj = "  Merhaba Soz  "yaz(buyuk(kirp(mesaj)))yaz(kucuk("ÇAĞRI"))parcalar = bol("bir,iki,uc", ",")yaz(birlestir(parcalar, " | "))yaz(degistir("soz soz", "soz", "Soz"))yaz(icerir("Merhaba", "haba"))
Çıktı
MERHABA SOZ
çağri
bir | iki | uc
Soz Soz
dogru

Örnek program

Kullanıcı girdisi

girdi ile bir satır okuyup kişiselleştirilmiş mesaj yazdırın.

08 / 15
kullanici-girdisi.soz
isim = girdi("Adin: ")yaz("Merhaba " + isim)
Çıktı
Adin: Ahmet
Merhaba Ahmet

Örnek program

Not ortalaması

Girdi, liste, döngü, temel kütüphane ve koşulları küçük bir programda birleştirin.

09 / 15
not-ortalamasi.soz
isim = girdi("Adin: ")notlar = [70, 80, 90]ekle(notlar, 100) toplam = 0 tekrar not icinde notlar:    toplam = toplam + not ortalama = toplam / uzunluk(notlar) eger ortalama >= 85:    sonuc = "Cok iyi"yoksa ortalama >= 50:    sonuc = "Gectin"degilse:    sonuc = "Kaldin" yaz("Merhaba " + isim)yaz("Ortalama: " + metin(ortalama))yaz("Sonuc: " + sonuc)
Çıktı
Adin: Ahmet
Merhaba Ahmet
Ortalama: 85
Sonuc: Cok iyi

Örnek program

Step limit örneği

Bu program normalde 100 yazar. Düşük bir adım sınırıyla çalıştırıldığında güvenlik limiti programı kontrollü biçimde durdurur.

10 / 15

Bu davranışı görmek için

soz run examples\step_limit.soz --max-steps 10
step-limit.soz
i = 0 iken i < 100:    i = i + 1 yaz(i)
Düşük limitte beklenen hata (çıkış kodu 1)
Hata: Program izin verilen maksimum calisma adimini asti.

Örnek program

Sözlük oluşturma ve güncelleme

Metin anahtarlı bir sözlük oluşturun, indeksle okuyup güncelleyin.

11 / 15
sozluk.soz
kullanici = {"isim": "Ahmet", "yas": 18}kullanici["yas"] = 19kullanici["sehir"] = "Istanbul"yaz(kullanici)
Çıktı
{isim: Ahmet, yas: 19, sehir: Istanbul}

Örnek program

Sözlük fonksiyonları

Sıralı anahtar, değer ve öğe snapshot'larını alın; güvenli okuyup kaldırın.

12 / 15
sozluk-fonksiyonlari.soz
veri = {"a": 1, "b": 2}yaz(anahtarlar(veri))yaz(degerler(veri))yaz(ogeler(veri))yaz(al(veri, "c", 0))yaz(kaldir(veri, "a"))
Çıktı
[a, b]
[1, 2]
[[a, 1], [b, 2]]
0
1

Örnek program

dene/yakala

Yakalanabilir bir dönüşüm hatasını hata runtime değeri olarak ele alın.

13 / 15
hata-yonetimi.soz
dene:    sayi("abc")yakala hata:    yaz("Yakalanan: " + metin(hata))
Çıktı
Yakalanan: Gecersiz sayi metni: abc

Örnek program

Güvenli dosya okuma

Script sandbox'ındaki strict UTF-8 metni güvenli biçimde okuyun.

14 / 15
dosya-okuma.soz
dene:    yaz(dosya_oku("veri/mesaj.txt"))yakala hata:    yaz(metin(hata))
Çıktı
Soz v0.3 dosya okuma ornegi.

Örnek program

Güvenli dosya yazma

Stateful örnek: ilk çalıştırmada yeni dosya oluşturur; tekrarında mevcut hedef hatası verir. Build sırasında çalıştırılmaz.

15 / 15
dosya-yazma.soz
dosya_yaz("sonuc.txt", "Sonuc: 42\n")yaz("Yazildi")
Çıktı
Yazildi

Çok dosyalı program

Modülleri ayrı dosyalarda tut.

Dosya ağacı: main.sozlib/matematik.soz lib/yardimci.soz. Her dosya kendi kopyalanabilir bloğundadır.

main.soz
aktar "lib/matematik.soz" yaz(topla(5, 3))
Çıktı
8
lib/matematik.soz
aktar "yardimci.soz" islev topla(a, b):    don kimlik(a + b)
lib/yardimci.soz
islev kimlik(deger):    don deger