CodeBlanks Logo Icon CodeBlanks

KFunction

KFunction ile metot bilgisi öğrenirsin.

KFunction ile fonksiyon bilgisi

KFunction, bir fonksiyonun referansını tutar. ::functionName ile alınır. name fonksiyon adını, parameters parametre listesini verir.

Örnek: fun greet(name: String): String = "Merhaba, $name!". val fn = ::greet. fn.name ifadesi "greet" döner. fn.parameters.size ise 1 verir. Bu kalıp, fonksiyon meta verilerini incelemek için kullanılır.

parameters ve returnType

KFunction.parameters bir parametre listesi döndürür; her parametre ad ve tür içerir. returnType fonksiyonun dönüş türünü verir.

Örnek: fun add(a: Int, b: Int): Int = a + b. ::add.parameters.size ifadesi 2 döner. ::add.returnType ise Int türünü verir. Bu bilgi, dinamik olarak fonksiyon imzasını işlemek için kullanılır.

Uygulama greet fonksiyonunun adını yazdır

fun greet(name: String): String tanımla; gövdesi "Merhaba, $name!" döndürsün. main içinde val fn = ::greet referansını al ve println(fn.name) çağrısını yaz.

Başlangıç kodu

Main.kt
// greet fonksiyonu: Merhaba, {name}! döndürür
// main'de fn referansı al, adını yazdır

Örnek çözüm

Main.kt
fun greet(name: String): String {
    return "Merhaba, $name!"
}

fun main() {
    val fn = ::greet
    println(fn.name)
}

Beklenen çıktı

greet

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 KFunction parçalarını eşle

Kavram Anlamı
::greet Fonksiyon referansı
fn.name Fonksiyon adı
fn.parameters Parametreler
fn.returnType Dönüş türü

2 KFunction'ın name özelliği neyi döndürür?

  • Parametre sayısını
  • Fonksiyon adını Doğru cevap
  • Dönüş türünü
  • Çağrı sonucunu

Açıklama: name fonksiyonun adını verir.

3 KFunction referansını tamamla

Soru
fun greet(name: String): String = "Merhaba, $name!"
val fn = ____
Cevap
fun greet(name: String): String = "Merhaba, $name!"
val fn = ::greet

Açıklama: ::greet ile KFunction referansı alınır.

İleri seviye bölümündeki tüm dersler