Menu
Coddy logo textTech

Fonksiyonları Geçirme

Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 28 / 63.

Üst düzey bir işlev, bir işlev değeri kabul eder veya bir işlev değeri döndürür. Bir işlev türüyle işlev parametresi tanımlayın, ardından yardımcı işlevin içinde onu çağırın. Son bağımsız değişken bir lambda ise Kotlin, süslü parantezlerini çağrı parantezlerinin dışına yerleştirmenize izin verir.

fun applyTwice(n: Int, operation: (Int) -> Int): Int {
    return operation(operation(n))
}

main içinde:

println(applyTwice(2) { it + 3 })

İlk çağrı ikiyi beşe dönüştürür; ikincisi beşi sekize dönüştürür.

Bir işlev parametresi, ara sonuçlarla tekrar tekrar çağrılabilir.

challenge icon

Görev

Orta

value: Int parametresini kullanarak twiceDouble işlevini tamamlayın. Sağlanan applyTwice yardımcı işlevini ve ikiyle çarpan bir lambda kullanın. İkiyle çarpma işlemini iki kez uyguladıktan sonra sonucu döndürün.

Yukarıda daha sıkı sınırlar belirtilmediği sürece koleksiyonlar her düzeyde en fazla 100 öğe içerir ve tamsayı bağımsız değişkenler ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklandığı gibi geçersiz veya aralık dışı gösterimler içerebilir.

Int türünde bir değer döndürün. Sağlanan girdi/çıktı kodunu koruyun. Bu kod, skaler bağımsız değişkenleri satır başına bir tane okur; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir eşleme, ardından her anahtar ve değer gelen girdi sayısıyla başlar. İç içe listeler, her satır için sayı ve öğeler biçimini tekrarlar. Sağlanan main, dönüş değerini ve ardından bir satır sonunu yazdırır. Listeler Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun applyTwice(n: Int, operation: (Int) -> Int): Int {
    return operation(operation(n))
}
fun twiceDouble(value: Int): Int {
    // Çözümünüzü buraya yazın.
    return 0
}
fun main() {
    val value = readln().toInt()
    println(twiceDouble(value))
}
quiz iconKendini test et

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

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground