- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md. - temeller/: tek konulu 12 başlangıç programı. - web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE önizlemesi 8080 verir), yoksa eski sabit port. - README: öğrenme bölümü, Online IDE bağlantısı.
164 lines
2.9 KiB
Markdown
164 lines
2.9 KiB
Markdown
---
|
|
baslik: Metinler
|
|
bolum: Temeller
|
|
ozet: Metin yazmak, birleştirmek, kaçış karakterleri ve harflere erişim
|
|
---
|
|
|
|
Ad, adres, mesaj, ürün açıklaması... Programların işlediği verilerin çoğu metindir. KabaLang metinleri Türkçe harflerle sorunsuz çalışır.
|
|
|
|
## Metin oluşturmak
|
|
|
|
Metin çift (`"..."`) ya da tek (`'...'`) tırnak arasına yazılır.
|
|
|
|
```kbl
|
|
sehir = "Çanakkale"
|
|
ulke = 'Türkiye'
|
|
yazdir(sehir)
|
|
yazdir(ulke)
|
|
```
|
|
```cikti
|
|
Çanakkale
|
|
Türkiye
|
|
```
|
|
|
|
## Birleştirmek
|
|
|
|
İki metni `+` ile uç uca eklersin. `+=` bir metnin sonuna ekleme yapar.
|
|
|
|
```kbl
|
|
ad = "Reşat Nuri"
|
|
soyad = "Güntekin"
|
|
tam_ad = ad + " " + soyad
|
|
yazdir(tam_ad)
|
|
|
|
mesaj = "Merhaba"
|
|
mesaj += ", hoş geldin!"
|
|
yazdir(mesaj)
|
|
```
|
|
```cikti
|
|
Reşat Nuri Güntekin
|
|
Merhaba, hoş geldin!
|
|
```
|
|
|
|
## Kaçış karakterleri
|
|
|
|
Bazı karakterler ters eğik çizgiyle yazılır:
|
|
|
|
| Yazım | Anlamı |
|
|
|---|---|
|
|
| `\n` | yeni satır |
|
|
| `\t` | sekme |
|
|
| `\"` | çift tırnak |
|
|
| `\\` | ters eğik çizgi |
|
|
|
|
```kbl
|
|
yazdir("Birinci satır\nİkinci satır")
|
|
yazdir("Öğretmen \"tahtaya bakın\" dedi.")
|
|
yazdir("Dosya: C:\\belgeler")
|
|
```
|
|
```cikti
|
|
Birinci satır
|
|
İkinci satır
|
|
Öğretmen "tahtaya bakın" dedi.
|
|
Dosya: C:\belgeler
|
|
```
|
|
|
|
## Çok satırlı metin
|
|
|
|
Üç tırnak (`"""`) arasına yazdığın metin, satır sonlarıyla birlikte olduğu gibi saklanır.
|
|
|
|
```kbl
|
|
siir = """Gün doğdu,
|
|
kuşlar uyandı."""
|
|
yazdir(siir)
|
|
```
|
|
```cikti
|
|
Gün doğdu,
|
|
kuşlar uyandı.
|
|
```
|
|
|
|
## Uzunluk
|
|
|
|
`uzunluk()` metindeki karakter sayısını verir. ş, ğ, İ gibi harfler de tek karakter sayılır.
|
|
|
|
```kbl
|
|
il = "Şanlıurfa"
|
|
yazdir(il.uzunluk())
|
|
```
|
|
```cikti
|
|
9
|
|
```
|
|
|
|
## Harflere erişmek: indeks
|
|
|
|
Metindeki her karakterin bir sıra numarası (indeks) vardır. Sayma **0'dan** başlar. Negatif indeks sondan sayar: `-1` son karakterdir.
|
|
|
|
```kbl
|
|
il = "Kayseri"
|
|
yazdir(il[0])
|
|
yazdir(il[1])
|
|
yazdir(il[-1])
|
|
```
|
|
```cikti
|
|
K
|
|
a
|
|
i
|
|
```
|
|
|
|
`[a..b]` ile a'dan b'ye kadar (b dahil) bir parça alırsın.
|
|
|
|
```kbl
|
|
il = "Kayseri"
|
|
yazdir(il[0..2])
|
|
yazdir(il[3..6])
|
|
```
|
|
```cikti
|
|
Kay
|
|
seri
|
|
```
|
|
|
|
> **Dikkat:** Metindeki bir harfi yerinde değiştiremezsin: `il[0] = "M"` derlenmez. Değişmiş bir metin istiyorsan yenisini oluşturursun, örneğin `"M" + il[1..6]`.
|
|
|
|
## Harf harf gezmek
|
|
|
|
`dongu harf icinde metin:` her turda bir karakter verir (döngüleri ileride ayrıntılı göreceksin).
|
|
|
|
```kbl
|
|
dongu harf icinde "Ağrı":
|
|
yazdir(harf)
|
|
```
|
|
```cikti
|
|
A
|
|
ğ
|
|
r
|
|
ı
|
|
```
|
|
|
|
## Alıştırma
|
|
|
|
```alistirma
|
|
`ad` ve `sehir` değişkenlerini `+` ile birleştirerek `Ayşe, Eskişehir'de yaşıyor.` satırını yazdır.
|
|
%%%
|
|
ad = "Ayşe"
|
|
sehir = "Eskişehir"
|
|
# buraya yaz
|
|
%%%
|
|
ad = "Ayşe"
|
|
sehir = "Eskişehir"
|
|
yazdir(ad + ", " + sehir + "'de yaşıyor.")
|
|
%%%
|
|
Ayşe, Eskişehir'de yaşıyor.
|
|
```
|
|
|
|
```alistirma
|
|
`kelime` değişkeninin ilk harfini, son harfini ve uzunluğunu aynı satırda yazdır.
|
|
%%%
|
|
kelime = "Çiçekçi"
|
|
# buraya yaz
|
|
%%%
|
|
kelime = "Çiçekçi"
|
|
yazdir(kelime[0], kelime[-1], kelime.uzunluk())
|
|
%%%
|
|
Ç i 7
|
|
```
|