Menu
Coddy logo textTech

Adlandırılmış Argümanlar

Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 58 / 93.

Bir işlevi birden fazla parametreyle çağırırken, normalde bağımsız değişkenleri tanımlandıkları tam sırayla iletirsiniz. Ancak Kotlin daha temiz bir alternatif sunar: adlandırılmış bağımsız değişkenler.

Adlandırılmış bağımsız değişkenlerle, her değerin hangi parametreye ait olduğunu parametre adının ardından = kullanarak belirtirsiniz:

fun createProfile(name: String, age: Int, city: String) {
    println("$name, $age, from $city")
}

fun main() {
    createProfile(name = "Alice", age = 25, city = "Paris")
}
// Çıktı: Alice, 25, from Paris

Bu, özellikle bir fonksiyon aynı türden birkaç parametreye sahip olduğunda kodunuzu daha okunabilir hâle getirir. Bu iki çağrıyı karşılaştırın:

// İsimli argümanlar olmadan - bu sayılar ne anlama geliyor?
calculateArea(10, 5, 3)

// İsimli argümanlarla - çok daha net!
calculateArea(length = 10, width = 5, height = 3)

Adlandırılmış bağımsız değişkenler, değerleri tercih ettiğiniz herhangi bir sırayla geçirmenize de olanak tanır:

fun greet(firstName: String, lastName: String) {
    println("Hello, $firstName $lastName!")
}

fun main() {
    greet(lastName = "Smith", firstName = "John")
}
// Çıktı: Hello, John Smith!

Konumsal ve adlandırılmış bağımsız değişkenleri birlikte kullanabilirsiniz, ancak adlandırılmış bir bağımsız değişken kullandıktan sonra karışıklığı önlemek için sonraki tüm bağımsız değişkenler de adlandırılmış olmalıdır.

challenge icon

Görev

Orta

Aşağıdaki fonksiyon size verilmiştir:

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

Üç girdi okuyun: bir kitap başlığı (String), bir yazar adı (String) ve bir yayın yılı (Int).

Adlandırılmış bağımsız değişkenleri şu özel sırayla kullanarak formatBook fonksiyonunu çağırın: year, title, author.

Örneğin, girdiler şöyleyse:

1984
George Orwell
1949

Çıktı şöyle olmalıdır:

"1984" by George Orwell (1949)

Kendin dene

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

fun main() {
    val title = readLine()!!
    val author = readLine()!!
    val year = readLine()!!.toInt()
    
    // TODO: formatBook'u adlandırılmış argümanlar kullanarak şu sırayla çağır: year, title, author
    
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground