Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- 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ı.
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
---
|
||||
baslik: Metin işlemleri
|
||||
bolum: Temeller
|
||||
ozet: buyut, kucult, kirp, bol, birlestir, degistir, bul ve diğer metin yöntemleri
|
||||
---
|
||||
|
||||
Metinlerin kendi yöntemleri (metotları) vardır: `metin.yontem()` biçiminde çağrılır. Kullanıcının yazdığını temizlemek, bir cümleyi kelimelere ayırmak, bir sözcüğü değiştirmek bu yöntemlerle yapılır.
|
||||
|
||||
## Türkçe büyük ve küçük harf
|
||||
|
||||
`buyut()` bütün harfleri büyütür, `kucult()` küçültür. Türkçe kurallara uyar: `i` büyüyünce `İ`, `I` küçülünce `ı` olur.
|
||||
|
||||
```kbl
|
||||
yazdir("istanbul".buyut())
|
||||
yazdir("ILIK IRMAK".kucult())
|
||||
yazdir("şişli öğüt".buyut())
|
||||
```
|
||||
```cikti
|
||||
İSTANBUL
|
||||
ılık ırmak
|
||||
ŞİŞLİ ÖĞÜT
|
||||
```
|
||||
|
||||
Büyük/küçük harfe aldırmadan karşılaştırmak için iki tarafı da küçültürsün.
|
||||
|
||||
```kbl
|
||||
girilen = "İZMİR"
|
||||
yazdir(girilen.kucult() == "izmir")
|
||||
```
|
||||
```cikti
|
||||
doğru
|
||||
```
|
||||
|
||||
## Boşlukları temizlemek: kirp
|
||||
|
||||
`kirp()` baştaki ve sondaki boşlukları atar. Kullanıcı girdisinde çok işe yarar.
|
||||
|
||||
```kbl
|
||||
ham = " Merhaba Dünya "
|
||||
yazdir("[" + ham + "]")
|
||||
yazdir("[" + ham.kirp() + "]")
|
||||
```
|
||||
```cikti
|
||||
[ Merhaba Dünya ]
|
||||
[Merhaba Dünya]
|
||||
```
|
||||
|
||||
## Aramak
|
||||
|
||||
| Yöntem | Sorusu | Sonuç |
|
||||
|---|---|---|
|
||||
| `icerir(x)` | x geçiyor mu? | `dogru`/`yanlis` |
|
||||
| `ile_baslar(x)` | x ile mi başlıyor? | `dogru`/`yanlis` |
|
||||
| `ile_biter(x)` | x ile mi bitiyor? | `dogru`/`yanlis` |
|
||||
| `bul(x)` | x nerede başlıyor? | indeks, yoksa `-1` |
|
||||
|
||||
```kbl
|
||||
cumle = "Ankara Türkiye'nin başkentidir"
|
||||
yazdir(cumle.icerir("başkent"))
|
||||
yazdir(cumle.ile_baslar("Ankara"))
|
||||
yazdir(cumle.ile_biter("dir"))
|
||||
yazdir(cumle.bul("Türkiye"))
|
||||
yazdir(cumle.bul("İzmir"))
|
||||
```
|
||||
```cikti
|
||||
doğru
|
||||
doğru
|
||||
doğru
|
||||
7
|
||||
-1
|
||||
```
|
||||
|
||||
## Değiştirmek: degistir
|
||||
|
||||
`degistir(eski, yeni)` metindeki her `eski`yi `yeni` ile değiştirir. Asıl metin değişmez, yeni bir metin döner.
|
||||
|
||||
```kbl
|
||||
duyuru = "Toplantı salı günü, salı saat 10'da."
|
||||
yeni = duyuru.degistir("salı", "çarşamba")
|
||||
yazdir(yeni)
|
||||
```
|
||||
```cikti
|
||||
Toplantı çarşamba günü, çarşamba saat 10'da.
|
||||
```
|
||||
|
||||
## Parça almak
|
||||
|
||||
`bastan(n)` ilk n karakteri, `sondan(n)` son n karakteri, `dilim(baslangic, adet)` belli bir yerden başlayan parçayı verir.
|
||||
|
||||
```kbl
|
||||
kelime = "Karadeniz"
|
||||
yazdir(kelime.bastan(4))
|
||||
yazdir(kelime.sondan(5))
|
||||
yazdir(kelime.dilim(2, 3))
|
||||
```
|
||||
```cikti
|
||||
Kara
|
||||
deniz
|
||||
rad
|
||||
```
|
||||
|
||||
## Bölmek ve birleştirmek
|
||||
|
||||
`bol(ayrac)` metni parçalara ayırıp bir liste verir. `birlestir(ayrac)` ise bir metin listesini tek metne çevirir.
|
||||
|
||||
```kbl
|
||||
satir = "Ayşe;Kaya;Eskişehir"
|
||||
alanlar = satir.bol(";")
|
||||
yazdir(alanlar)
|
||||
yazdir(alanlar[2])
|
||||
yazdir(alanlar.birlestir(" | "))
|
||||
```
|
||||
```cikti
|
||||
[Ayşe, Kaya, Eskişehir]
|
||||
Eskişehir
|
||||
Ayşe | Kaya | Eskişehir
|
||||
```
|
||||
|
||||
## Diğer yararlı yöntemler
|
||||
|
||||
```kbl
|
||||
yazdir("=".tekrarla(20))
|
||||
yazdir("".bos_mu())
|
||||
yazdir("abc".bos_mu())
|
||||
```
|
||||
```cikti
|
||||
====================
|
||||
doğru
|
||||
yanlış
|
||||
```
|
||||
|
||||
> **Dikkat:** Yöntem adlarına dikkat: büyütme `buyut()`, küçültme `kucult()`, uzunluk `uzunluk()`'tür. `buyuk()`, `kucuk()` diye yöntem yoktur; derleyici "böyle bir metot bulunamadı" der.
|
||||
|
||||
## Yöntemleri zincirlemek
|
||||
|
||||
Her yöntem yeni bir metin döndürdüğü için arka arkaya yazabilirsin.
|
||||
|
||||
```kbl
|
||||
girdi = " ankara "
|
||||
yazdir(girdi.kirp().buyut())
|
||||
```
|
||||
```cikti
|
||||
ANKARA
|
||||
```
|
||||
|
||||
## Alıştırma
|
||||
|
||||
```alistirma
|
||||
`eposta` değişkenindeki boşlukları temizle, harflerini küçült ve sonucu yazdır. Ardından temizlenmiş adresin `@` içerip içermediğini yazdır.
|
||||
%%%
|
||||
eposta = " [email protected] "
|
||||
# buraya yaz
|
||||
%%%
|
||||
eposta = " [email protected] "
|
||||
temiz = eposta.kirp().kucult()
|
||||
yazdir(temiz)
|
||||
yazdir(temiz.icerir("@"))
|
||||
%%%
|
||||
[email protected]
|
||||
doğru
|
||||
```
|
||||
|
||||
```alistirma
|
||||
`liste` metnindeki ürünler virgülle ayrılmış. Metni böl, ürün sayısını yazdır, sonra ürünleri ` - ` ile birleştirip yazdır.
|
||||
%%%
|
||||
liste = "ekmek,süt,peynir,zeytin"
|
||||
# buraya yaz
|
||||
%%%
|
||||
liste = "ekmek,süt,peynir,zeytin"
|
||||
urunler = liste.bol(",")
|
||||
yazdir(urunler.uzunluk())
|
||||
yazdir(urunler.birlestir(" - "))
|
||||
%%%
|
||||
4
|
||||
ekmek - süt - peynir - zeytin
|
||||
```
|
||||
Reference in New Issue
Block a user