Fonksiyonlar
Fonksiyonlar, tekrar kullanılabilir kod blokları oluşturmanıza olanak sağlar. Lordex'te fonksiyonlar fonksiyon anahtar kelimesi ile tanımlanır.
Fonksiyon Tanımlama
Basit Fonksiyon
fonksiyon selamla() {
yaz("Merhaba Dünya!")
}
// Fonksiyonu çağır
selamla()
Parametreli Fonksiyon
fonksiyon selamla(isim) {
yaz("Merhaba " + isim + "!")
}
selamla("Ahmet")
selamla("Ayşe")
Çoklu Parametre
fonksiyon topla(a, b) {
sonuc = a + b
yaz("Toplam: " + sonuc)
}
topla(5, 3) // Toplam: 8
topla(10, 20) // Toplam: 30
Değer Döndürme
geri_don anahtar kelimesi ile değer döndürün:
fonksiyon kare(x) {
geri_don x * x
}
sonuc = kare(5)
yaz(sonuc) // 25
Çoklu Return
fonksiyon mutlak_deger(sayi) {
eger (sayi < 0) {
geri_don -sayi
}
geri_don sayi
}
yaz(mutlak_deger(-10)) // 10
yaz(mutlak_deger(15)) // 15
Lambda Fonksiyonlar
Kısa fonksiyonlar için lambda sözdizimi:
kare = (x) => x * x
yaz(kare(5)) // 25
topla = (a, b) => a + b
yaz(topla(3, 7)) // 10
Recursive Fonksiyonlar
fonksiyon faktoriyel(n) {
eger (n <= 1) {
geri_don 1
}
geri_don n * faktoriyel(n - 1)
}
yaz(faktoriyel(5)) // 120
Dikkat
Recursive fonksiyonlarda exit koşulu unutmayın, yoksa stack overflow hatası alırsınız.
İç İçe Fonksiyonlar
fonksiyon hesapla(a, b) {
fonksiyon topla() {
geri_don a + b
}
fonksiyon carp() {
geri_don a * b
}
yaz("Toplam: " + topla())
yaz("Çarpım: " + carp())
}
hesapla(5, 3)
Pratik Örnekler
Örnek 1: Asal Sayı Kontrolü
fonksiyon asal_mi(n) {
eger (n < 2) {
geri_don hayir
}
i = 2
iken (i * i <= n) {
eger (n % i == 0) {
geri_don hayir
}
i = i + 1
}
geri_don evet
}
yaz(asal_mi(17)) // evet
yaz(asal_mi(20)) // hayir
Örnek 2: Dizi İşlemleri
fonksiyon dizi_toplam(dizi) {
toplam = 0
icin (sayi in dizi) {
toplam = toplam + sayi
}
geri_don toplam
}
fonksiyon dizi_ortalama(dizi) {
toplam = dizi_toplam(dizi)
geri_don toplam / uzunluk(dizi)
}
sayilar = [10, 20, 30, 40, 50]
yaz("Toplam: " + dizi_toplam(sayilar))
yaz("Ortalama: " + dizi_ortalama(sayilar))
En İyi Uygulamalar
✅ İyi Pratikler
// Anlamlı isimler
fonksiyon hesapla_toplam(dizi) {
// ...
}
// Tek sorumluluk
fonksiyon kullanici_giris_kontrol(ad, sifre) {
// Sadece giriş kontrolü
}
// Yorum ekle
// Verilen sayının faktöriyelini hesaplar
fonksiyon faktoriyel(n) {
// ...
}
❌ Kaçınılması Gerekenler
// Anlamsız isimler
fonksiyon f(x, y) { // Ne yaptığı belli değil
// ...
}
// Çok uzun fonksiyonlar
fonksiyon her_seyi_yap() {
// 100+ satır kod - bölün!
}
Sonraki Adımlar
- Built-in Fonksiyonlar - Hazır fonksiyonlar
- Örnekler - Gerçek örnekler