Hızlı başlangıç Son kullanıcı paketi için Rust, Cargo, Python, pip, Node.js veya yönetici yetkisi gerekmez. v0.3.0 release sayfasından Windows x64 ZIP'i ve SHA256SUMS.txt dosyasını indirin; özeti doğruladıktan sonra ZIP'i çıkarın.
PowerShell Kopyala Public Alpha: Söz dizimi ve çalışma zamanı davranışı sonraki alpha sürümlerinde değişebilir. Hazır binary, PowerShell betikleri ve VSIX imzasızdır; SmartScreen uyarı gösterebilir.
İlk program merhaba.soz adlı UTF-8 dosya oluşturun. Anahtar kelimeler ASCII biçimindedir; metin içerikleri Türkçe ve diğer Unicode karakterleri kullanabilir.
merhaba.soz Kopyala Dosyayı soz merhaba.soz veya soz run merhaba.soz ile çalıştırabilirsiniz. Blok başlığı iki noktayla biter, gövde dört boşlukla girintilenir; tab desteklenmez.
CLI sözleşmesi Argümansız kullanım REPL'i açar. Dosya çalıştırırken adım ve çıktı sınırlarını programın ihtiyacına göre değiştirebilirsiniz.
soz help Kopyala Söz dizimi özeti Söz'ün 19 anahtar kelimesi ve sabiti büyük/küçük harfe duyarlıdır. eğer, değilse, işlev ve dön gibi Türkçe karakterli biçimler anahtar kelime değildir.
Anahtar kelimeler Kopyala Çalışan örneklerle dil rehberine git → v0.2 kodunda dene, yakala veya aktaridentifier olarak kullanıldıysa v0.3.0'a geçerken yeniden adlandırılmalıdır.
Etkileşimli REPL soz veya portable pakette .\soz.exe komutu REPL'i açar. bos olmayan ifade sonuçları otomatik yazdırılır; atamalar yazdırılmaz.
soz.exe etkileşimli oturum
Soz 0.3.0
Yardim icin: yardim
Cikmak icin: cik
>>> isim = "Ahmet"
>>> 5 + 3
8
>>> yaz("Merhaba " + isim)
Merhaba Ahmet
Değişkenler ve fonksiyonlar oturum boyunca kalır. İlk satırı : ile biten blok boş satırla tamamlanır. Hatalar oturumu kapatmaz. yardim, surum, temizle ve cik meta komutları vardır. Hata mesajları Tanılar stderr'e yazılır ve mümkün olduğunda tür, kaynak konumu, caret/span, yardım ve Soz çağrı izi içerir.
Hata: Tanimlanmamis degisken: 'puann'.
Tur: calisma zamani
Dosya: oyun.soz
Satir: 2
Sutun: 5
2 | yaz(puann)
| ^^^^^ 'puan' demek istemis olabilir misin?
soz check dosya.soz, programı çalıştırmadan lexer ve parser denetimi yapar. Başarıda Kontrol basarili, hatada tanı ve çıkış kodu 1 üretir.
Çalışma limitleri Dosya çalıştırmaları sonsuz döngü, kontrolsüz çıktı ve aşırı çağrı derinliğine karşı varsayılan sınırlar uygular.
1.000.000 çalışma adımı
1.000.000 UTF-8 çıktı baytı
256 fonksiyon çağrı derinliği
1.000.000 aralik eleman üst sınırı
Sandbox değildir. Bu limitler işletim sistemi yalıtımı, genel bellek kotası veya girdi için zaman aşımı sağlamaz. Güvenilmeyen kodu ayrı bir süreç/hesap/VM sınırında değerlendirin.
VS Code Release sayfasındaki soz-language-support-0.3.0.vsixdosyasını Extensions → … → Install from VSIX yoluyla kurun. Uzantı Marketplace'te yayımlanmış değildir.
PowerShell Kopyala Güncel syntax renklendirmesi 19 anahtar kelime için statik completion; dene, yakala ve aktar dahil 25 yerleşik için statik completion; sözlük ve dosya API'leri dahil 14 temel snippet; Marketplace yayını, LSP, debugger ve formatter yoktur 10 kod snippet'i Soz: Dosyayi Calistir komutu Güvenilen workspace kontrolü Uzantı interpreter, debugger, biçimlendirici veya full Language Server içermez. Run komutu için CLI PATH üzerinde olmalıdır.
VS Code uzantısı kaynaklarını incele ↗ Temel kütüphane
25 yerleşik fonksiyon G/Ç, aralık, tür dönüşümü, liste ve metin işlemleri interpreter ile birlikte gelir. Ek paket kurulumu gerekmez.
yaz aralik girdi sayi metin mantik tur uzunluk ekle cikar sil icerir buyuk kucuk kirp bol birlestir degistir anahtarlar degerler ogeler al kaldir dosya_oku dosya_yaz Yerleşik
yaz(deger) -> bosDeğeri Soz gösterimiyle standart çıktıya yazar ve satırı bitirir.
Parametreler
degerherhangi bir değer Standart çıktıya yazılacak değer. Dönüş değeri bos
Olası hata Çıktı bayt limiti aşılırsa veya standart çıktı yazılamazsa çalışma zamanı hatası oluşur.
yaz.soz Kopyala Yerleşik
aralik(baslangic, bitis) -> listeBaşlangıç dahil, bitiş hariç değerleri üretir. Bitiş başlangıçtan küçük ya da eşitse boş liste döner.
Parametreler
baslangictamsayı Listeye dahil edilen ilk sayı.
bitistamsayı Listeye dahil edilmeyen üst sınır. Dönüş değeri Adımı 1 olan sayı listesi.
Olası hata Argümanlar sonlu tamsayı değilse, i64 sınırını aşarsa veya sonuç 1.000.000 elemandan büyükse hata verir.
aralik.soz Kopyala Yerleşik
girdi(prompt?) -> metin | bosStandart girdiden bir satır okur. İstem verilirse okumadan önce ekrana yazar.
Parametreler
promptmetin, isteğe bağlı Satır sonu eklenmeden gösterilecek istem. Dönüş değeri Okunan satırdan sonlandırıcıları çıkarılmış metin; EOF'ta bos.
Olası hata Prompt metin değilse, G/Ç başarısız olursa veya prompt çıktı limitini aşarsa hata verir.
girdi.soz Kopyala Yerleşik
sayi(deger) -> sayiSayıyı aynen döndürür veya kırpılmış metni sayı olarak ayrıştırır.
Parametreler
degersayı | metin Sayıya dönüştürülecek değer. Dönüş değeri Sonlu bir sayı.
Olası hata Geçersiz metin, NaN/sonsuz sonuç, mantık, bos, liste veya fonksiyon değeri reddedilir.
sayi.soz Kopyala Yerleşik
metin(deger) -> metinTemel değerleri ve listeleri Soz'un okunabilir metin gösterimine çevirir.
Parametreler
degersayı | metin | mantık | bos | liste Soz gösterimine dönüştürülecek değer. Dönüş değeri Değerin metin gösterimi.
Olası hata Kullanıcı fonksiyonu veya yerleşik fonksiyon değeri metne dönüştürülemez.
metin.soz Kopyala Yerleşik
mantik(deger) -> mantikdogru, "dogru" ve 1 değerlerini dogru; yanlis, "yanlis" ve 0 değerlerini yanlis yapar.
Parametreler
degermantık | metin | sayı Kesin mantık eşlemesi uygulanacak değer. Dönüş değeri dogru veya yanlis.
Olası hata Belirlenen altı kesin eşleşmenin dışındaki sayı ve metinler dahil diğer değerler reddedilir.
mantik.soz Kopyala Yerleşik
tur(deger) -> metinDeğerin Soz çalışma zamanı tür adını döndürür.
Parametreler
degerherhangi bir değer Çalışma zamanı türü sorgulanacak değer. Dönüş değeri "sayi", "metin", "mantik", "bos", "liste", "islev" veya "yerlesik_islev".
Olası hata Yalnızca yanlış argüman sayısı çalışma zamanı hatası üretir.
tur.soz Kopyala Yerleşik
uzunluk(deger) -> sayiMetinde UTF-8 baytlarını değil Unicode karakterleri; listede elemanları sayar.
Parametreler
degermetin | liste Uzunluğu hesaplanacak değer. Dönüş değeri Unicode karakter veya liste elemanı sayısı.
Olası hata Metin ve liste dışındaki türler reddedilir.
uzunluk.soz Kopyala Yerleşik
ekle(liste, deger) -> bosDeğeri paylaşılan listenin sonuna yerinde ekler.
Parametreler
listeliste Yerinde değiştirilecek liste.
degerherhangi bir değer Listenin sonuna eklenecek değer. Dönüş değeri bos
Olası hata İlk argüman liste değilse veya işlem doğrudan/dolaylı döngüsel liste oluşturursa hata verir.
ekle.soz Kopyala Yerleşik
cikar(liste, deger) -> mantikİlk eşleşen değeri listeden kaldırır.
Parametreler
listeliste Yerinde değiştirilecek liste.
degerherhangi bir değer İlk eşleşmesi kaldırılacak değer. Dönüş değeri Bulup kaldırırsa dogru, bulunamazsa yanlis.
Olası hata İlk argüman liste değilse veya argüman sayısı yanlışsa hata verir.
cikar.soz Kopyala Yerleşik
sil(liste, indeks) -> degerBelirtilen elemanı yerinde kaldırır ve kaldırılan değeri döndürür.
Parametreler
listeliste Elemanı kaldırılacak liste.
indeksnegatif olmayan tamsayı Sıfır tabanlı eleman konumu. Dönüş değeri Listeden kaldırılan değer.
Olası hata Liste olmayan ilk argüman; negatif, ondalık, sonlu olmayan veya sınır dışı indeks hata üretir.
sil.soz Kopyala Yerleşik
icerir(koleksiyon, deger) -> mantikListede eşit değeri veya metin içinde literal parçayı arar.
Parametreler
koleksiyonliste | metin Arama yapılacak liste veya metin.
degerherhangi bir değer | metin parçası Listede değer; metinde literal ve büyük/küçük harfe duyarlı parça. Dönüş değeri Eşleşme varsa dogru, yoksa yanlis.
Olası hata İlk argüman liste/metin değilse veya metin aramasında ikinci argüman metin değilse hata verir.
icerir.soz Kopyala Yerleşik
buyuk(metin) -> metinRust Unicode eşlemesini kullanarak büyük harfe çevirir.
Parametreler
metinmetin Büyük harfe dönüştürülecek metin. Dönüş değeri Unicode büyük harf dönüşümü uygulanmış yeni metin.
Olası hata Argüman metin değilse hata verir.
buyuk.soz Kopyala Yerleşik
kucuk(metin) -> metinRust Unicode eşlemesini kullanarak küçük harfe çevirir.
Parametreler
metinmetin Küçük harfe dönüştürülecek metin. Dönüş değeri Unicode küçük harf dönüşümü uygulanmış yeni metin.
Olası hata Argüman metin değilse hata verir.
kucuk.soz Kopyala Yerleşik
kirp(metin) -> metinİç boşlukları korur, yalnızca metnin iki ucunu kırpar.
Parametreler
metinmetin Dış boşlukları kaldırılacak metin. Dönüş değeri Baş ve son Unicode boşlukları kaldırılmış yeni metin.
Olası hata Argüman metin değilse hata verir.
kirp.soz Kopyala Yerleşik
bol(metin, ayirici) -> listeMetni literal ayırıcıyla parçalara böler.
Parametreler
metinmetin Parçalanacak metin.
ayiriciboş olmayan metin Literal parçalama ayırıcısı. Dönüş değeri Metin parçalarından oluşan liste.
Olası hata Argümanlar metin değilse veya ayırıcı boşsa hata verir.
bol.soz Kopyala Yerleşik
birlestir(liste, ayirici) -> metinMetin listesini verilen ayırıcıyla birleştirir.
Parametreler
listemetin listesi Birleştirilecek metin değerleri.
ayiricimetin Ögeler arasına eklenecek literal metin. Dönüş değeri Birleştirilmiş yeni metin; boş liste için boş metin.
Olası hata İlk argüman liste, ikinci argüman metin değilse veya listede metin olmayan eleman varsa hata verir.
birlestir.soz Kopyala Yerleşik
degistir(metin, eski, yeni) -> metinOrijinal metni değiştirmeden tüm literal eşleşmeleri yeniler.
Parametreler
metinmetin Arama yapılacak kaynak metin.
eskimetin Değiştirilecek literal eşleşme.
yenimetin Her eşleşmenin yerine gelecek metin. Dönüş değeri Tüm eşleşmeleri değiştirilmiş yeni metin.
Olası hata Üç argümandan herhangi biri metin değilse hata verir.
degistir.soz Kopyala Yerleşik
anahtarlar(sozluk) -> listeSözlüğün anahtar snapshot'ını döndürür; iç içe değerler alias semantiğini korur.
Parametreler
sozluksözlük Anahtarları alınacak sözlük. Dönüş değeri Ekleme sırasındaki metin anahtarlarının yeni listesi.
Olası hata Argüman sözlük değilse veya snapshot güvenlik sınırını aşarsa hata verir.
anahtarlar.soz Kopyala Yerleşik
degerler(sozluk) -> listeSözlük değerlerinin snapshot'ını döndürür.
Parametreler
sozluksözlük Değerleri alınacak sözlük. Dönüş değeri Ekleme sırasındaki değerlerin yeni dış listesi.
Olası hata Argüman sözlük değilse veya snapshot güvenlik sınırını aşarsa hata verir.
degerler.soz Kopyala Yerleşik
ogeler(sozluk) -> listeSözlük öğelerinin snapshot'ını döndürür.
Parametreler
sozluksözlük Öğeleri alınacak sözlük. Dönüş değeri Her biri [anahtar, değer] olan ekleme sıralı liste.
Olası hata Argüman sözlük değilse veya snapshot güvenlik sınırını aşarsa hata verir.
ogeler.soz Kopyala Yerleşik
al(sozluk, anahtar, varsayilan?) -> degerEksik anahtarı hata üretmeden okur.
Parametreler
sozluksözlük Aranacak sözlük.
anahtarmetin Aranacak anahtar.
varsayilanherhangi bir değer, isteğe bağlı Eksik anahtarda dönecek değer. Dönüş değeri Bulunan değer; yoksa varsayılan veya bos.
Olası hata İlk argüman sözlük veya anahtar metin değilse hata verir.
al.soz Kopyala Yerleşik
kaldir(sozluk, anahtar) -> degerPaylaşılan sözlüğü yerinde değiştirir.
Parametreler
sozluksözlük Yerinde değiştirilecek sözlük.
anahtarmetin Kaldırılacak anahtar. Dönüş değeri Kaldırılan değer.
Olası hata Türler geçersizse veya anahtar yoksa kaynak konumlu hata verir.
kaldir.soz Kopyala Yerleşik
dosya_oku(yol) -> metinSandbox kökü içindeki en fazla 1 MiB regular file'ı güvenli biçimde okur.
Parametreler
yolmetin Sandbox içindeki relative dosya yolu. Dönüş değeri Strict UTF-8 dosya içeriği; baştaki tek BOM kaldırılır.
Olası hata Yol, izin, dosya türü, boyut ve UTF-8 hataları dene/yakala ile yakalanabilir.
dosya_oku.soz Kopyala Yerleşik
dosya_yaz(yol, icerik, uzerine_yaz?) -> bosVarsayılan create-only yazma yapar; append ve parent dizin oluşturma yoktur.
Parametreler
yolmetin Sandbox içindeki relative hedef.
icerikmetin UTF-8 olarak yazılacak içerik.
uzerine_yazmantık, isteğe bağlı dogru ise mevcut regular file değiştirilir. Dönüş değeri bos
Olası hata Yol, izin, mevcut hedef ve boyut hataları dene/yakala ile yakalanabilir.
dosya_yaz.soz Kopyala