Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

REPL - Etkileşimli Kabuk

BERK REPL (Read-Eval-Print Loop), hızlı prototipleme ve öğrenme için etkileşimli bir programlama ortamıdır. Python REPL gibi anında kod çalıştırma imkanı sağlar.

REPL Başlatma

# Basit başlatma
berk-lang repl

# Veya
berk-lang

Karşınıza şu ekran gelecek:

BERK v0.9.4 - Interactive Shell
Type ':help' for help, ':quit' to exit

berk>

Temel Kullanım

Basit İfadeler

berk> 2 + 2
4

berk> "Merhaba" + " Dünya"
"Merhaba Dünya"

berk> [1, 2, 3].uzunluk()
3

Değişken Tanımlama

berk> değişken x = 42
berk> değişken isim = "Ali"
berk> yazdır(isim + " - " + x)
Ali - 42

Fonksiyon Tanımlama

berk> fonksiyon topla(a: sayı, b: sayı) -> sayı yap
  ...     dön a + b
  ... son
berk> topla(5, 3)
8

Özel Komutlar

KomutAçıklama
:helpYardım menüsü
:quit / :qREPL'den çık
:clearEkranı temizle
:resetTüm tanımları sıfırla
:varsTanımlı değişkenleri listele
:funcsTanımlı fonksiyonları listele
:type İfadenin tipini göster
:load Dosyayı yükle
:save Geçmişi dosyaya kaydet

Kullanım Örnekleri

berk> :type 42
sayı

berk> :type "merhaba"
metin

berk> :vars
x: sayı = 42
isim: metin = "Ali"

berk> :load hesap.berk
✓ hesap.berk yüklendi

berk> :quit
Hoşça kalın!

Çok Satırlı İfadeler

berk> fonksiyon fibonacci(n: sayı) -> sayı yap
  ...     eğer n <= 1 yap
  ...         dön n
  ...     son
  ...     dön fibonacci(n-1) + fibonacci(n-2)
  ... son
berk> fibonacci(10)
55

Otomatik Tamamlama

Tab tuşu ile otomatik tamamlama:

berk> değişken liste = [1, 2, 3]
berk> liste.uz
    uzunluk()
berk> liste.uzunluk()
3

Geçmiş (Navigation)

  • ↑/↓: Geçmiş komutlarda gezin
  • Ctrl+R: Geçmişte ara
  • Ctrl+C: Mevcut satırı iptal et
  • Ctrl+D: REPL'den çık

Modül Kullanımı

berk> kullan math;
berk> math::sqrt(16.0)
4.0

berk> kullan string;
berk> string::büyüt("merhaba")
"MERHABA"

Performans Ölçümü

berk> :time fibonacci(30)
Sonuç: 832040
Süre: 234 ms

Hata Ayıklama

berk> değişken x: sayı = "merhaba"
Error[E0308]: tip uyuşmazlığı
  beklenen `sayı`, bulundu `metin`

berk> :last-error
Detaylı hata bilgisi...

Konfigürasyon

~/.berk/repl.toml dosyası ile özelleştirme:

[prompt]
style = "colorful"  # minimal, colorful, classic
show_type = true    # Tip bilgisi göster

[history]
max_size = 1000
save_path = "~/.berk/repl_history"

[keybindings]
clear = "Ctrl+L"
quit = "Ctrl+D"

REPL ile Öğrenme

Örnek 1: Fibonacci

berk> :load stdlib/examples/fibonacci.berk
berk> için i içinde 0..10 yap
  ...     yazdır(fibonacci(i))
  ... son
0 1 1 2 3 5 8 13 21 34

Örnek 2: String Manipülasyonu

berk> değişken metin = "Merhaba Dünya"
berk> string::böl(metin, " ")
["Merhaba", "Dünya"]
berk> string::tersine_çevir(metin)
"aynüD abahreM"

Özet

  • ✅ Hızlı prototipleme
  • ✅ Otomatik tamamlama
  • ✅ Geçmiş navigasyonu
  • ✅ Çok satırlı ifadeler
  • ✅ Modül desteği
  • ✅ Performans ölçümü
  • ✅ Öğrenme için ideal