Ana içeriğe geç

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