Dil rehberi

Soz söz dizimini çalışan örneklerle öğren.

Yorumlar ve değişkenlerden koşullara, döngülere, işlevlere ve liste güncellemeye kadar v0.2.0 dil çekirdeği.

ASCII anahtar kelimeler: Soz; eger, degilse, islev ve don gibi Türkçe sözcüklerin ASCII biçimlerini kabul eder. eğer, değilse, işlev ve dön anahtar kelime değildir. Metinlerde Türkçe karakter kullanabilirsiniz.

Söz dizimi

Yorumlar

# karakterinden satır sonuna kadar olan bölüm çalıştırılmaz. Yorumları niyeti açıklamak için kullanın.

yorumlar.soz
# Bu satir calistirilmaz.yaz("Kod calisti")  # Satir sonu yorumu
Çıktı
Kod calisti

Söz dizimi

Değişkenler

Ayrı bir tanımlama anahtar kelimesi yoktur. İlk atama değişkeni oluşturur, sonraki atamalar günceller.

degiskenler.soz
sayac = 0sayac = sayac + 1yaz(sayac)
Çıktı
1

Söz dizimi

Sayılar

Tam ve ondalıklı gösterimler aynı sayı türünde tutulur; .5 gibi başında sıfır olmayan yazım geçerlidir.

sayilar.soz
ogrenci_sayisi = 32ortalama = 87.5yarim = .5yaz(ortalama + yarim)
Çıktı
88

Söz dizimi

Metinler

Metinler çift tırnakla yazılır. İçerik UTF-8 olabilir; \n, \t, \" ve \\ gibi kaçışlar desteklenir.

metinler.soz
isim = "Deniz"mesaj = "Merhaba dünya"yaz(mesaj + ", " + isim)
Çıktı
Merhaba dünya, Deniz

Söz dizimi

Boolean

Mantık sabitleri dogru ve yanlis biçimindedir. ve, veya ve degil kısa devreli mantık işlemleridir.

boolean.soz
aktif = dogruyetkili = yanlisyaz(aktif ve degil yetkili)
Çıktı
dogru

Söz dizimi

Boş değer

bos değer yokluğu temsil eder. Koşullarda bos, yanlis, 0, boş metin ve boş liste false kabul edilir.

bos-deger.soz
sonuc = boseger degil sonuc:    yaz("Sonuc yok")
Çıktı
Sonuc yok

Söz dizimi

Operatörler

Soz aritmetik, karşılaştırma ve mantık operatörlerini; v0.2.0 ile %, // ve ** işlemlerini destekler.

operatorler.soz
yaz(10 % 3)yaz(10 // 3)yaz(2 ** 4)yaz(2 ** 3 ** 2)yaz(-10 // 3)yaz(-10 % 3)
Çıktı
1
3
16
512
-4
2

Söz dizimi

Koşullar

eger ile başlayın, sıfır veya daha fazla yoksa dalı ekleyin ve isteğe bağlı degilse ile bitirin.

kosullar.soz
puan = 75 eger puan >= 85:    yaz("Cok iyi")yoksa puan >= 50:    yaz("Gecti")degilse:    yaz("Kaldi")
Çıktı
Gecti

Söz dizimi

While döngüsü

iken döngüsü, koşul doğru kaldığı sürece girintili gövdeyi çalıştırır.

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

Söz dizimi

Tekrar döngüsü

tekrar ... icinde ... yalnızca liste üzerinde dolaşır. aralik bir sayı listesi üretir.

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

Söz dizimi

kir

kir, söz dizimsel olarak içinde bulunduğu en yakın döngüyü bitirir.

kir.soz
tekrar i icinde aralik(0, 10):    eger i == 3:        kir    yaz(i)
Çıktı
0
1
2

Söz dizimi

devam

devam, en yakın döngünün kalan gövdesini atlayıp sonraki tura geçer.

devam.soz
tekrar i icinde aralik(0, 5):    eger i == 2:        devam    yaz(i)
Çıktı
0
1
3
4

Söz dizimi

İşlevler

islev ile parametreli fonksiyon tanımlayın. Argüman sayısı parametre sayısıyla eşleşmelidir.

islevler.soz
islev topla(a, b):    don a + b yaz(topla(5, 3))
Çıktı
8

Söz dizimi

don

don ifade bir değer döndürür. Yalın don veya sona ulaşan işlev bos döndürür; don yalnız işlev içinde kullanılabilir.

don.soz
islev selamla(isim):    eger isim == "":        don    don "Merhaba " + isim yaz(selamla("Soz"))
Çıktı
Merhaba Soz

Söz dizimi

Listeler

Listeler farklı Soz değerlerini tutabilir. Atama kopya üretmez; alias'lar aynı liste mutasyonunu paylaşır.

listeler.soz
sayilar = [10, 20, 30]ikinci = sayilarekle(ikinci, 40)yaz(sayilar)
Çıktı
[10, 20, 30, 40]

Söz dizimi

İndeks okuma

Liste indeksleri sıfırdan başlar. Negatif, ondalık veya sınır dışı indeks çalışma zamanı hatasıdır.

indeks-okuma.soz
sayilar = [10, 20, 30]yaz(sayilar[1])
Çıktı
20

Söz dizimi

İndeks güncelleme

Bir liste elemanına atama yapabilir; v0.2.0'da iç içe indeks hedeflerini de güncelleyebilirsiniz.

indeks-guncelleme.soz
sayilar = [10, 20, 30]sayilar[1] = 50matris = [[1, 2], [3, 4]]matris[1][0] = 8yaz(sayilar)yaz(matris)
Çıktı
[10, 50, 30]
[[1, 2], [8, 4]]

Söz dizimi

Built-in fonksiyonlar

v0.2.0; G/Ç, dönüşüm, tür, liste ve metin işlemlerini kapsayan 18 yerleşik fonksiyon sunar.

built-in-fonksiyonlar.soz
parcalar = bol("bir,iki,uc", ",")ekle(parcalar, "soz")yaz(birlestir(parcalar, " | "))
Çıktı
bir | iki | uc | soz