Meneruskan Fungsi
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 28 dari 63.
Fungsi tingkat tinggi menerima nilai fungsi atau mengembalikan nilai fungsi. Deklarasikan parameter fungsi dengan tipe fungsi, lalu panggil parameter itu di dalam fungsi pembantu. Jika argumen terakhir berupa lambda, Kotlin memungkinkan kamu meletakkan kurung kurawalnya setelah tanda kurung pemanggilan.
fun applyTwice(n: Int, operation: (Int) -> Int): Int {
return operation(operation(n))
}Di dalam main:
println(applyTwice(2) { it + 3 })Pemanggilan pertama mengubah dua menjadi lima; pemanggilan kedua mengubah lima menjadi delapan.
Parameter fungsi dapat dipanggil berulang kali dengan hasil sementara.
Tantangan
SedangLengkapi twiceDouble dengan parameter value: Int. Gunakan helper applyTwice yang disediakan dan lambda untuk menggandakan nilai. Kembalikan hasil setelah operasi penggandaan diterapkan dua kali.
Kecuali batas yang lebih ketat dinyatakan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai integer dalam koleksi berada di antara -1000 dan 1000. Teks yang diberikan untuk parsing dapat mencakup representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.
Kembalikan nilai bertipe Int. Pertahankan kode input/output yang disediakan. Kode tersebut membaca argumen skalar satu per baris; sebuah list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, dan sebuah map dimulai dengan jumlah entrinya, lalu diikuti setiap key dan value. List bertingkat mengulangi format jumlah-elemen-dan-elemen untuk setiap baris. main yang disediakan mencetak nilai kembalian, lalu satu karakter baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan cetak label tambahan.
Coba sendiri
fun applyTwice(n: Int, operation: (Int) -> Int): Int {
return operation(operation(n))
}
fun twiceDouble(value: Int): Int {
// Tulis solusimu di sini.
return 0
}
fun main() {
val value = readln().toInt()
println(twiceDouble(value))
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
4Koleksi Bersarang
List Berisi ListMenelusuri BarisRingkasan BarisMeratakan List BertingkatRangkuman, Baris Tempat Duduk7Alur Pemrosesan Koleksi
Transformasi dengan MapMemfilter NilaiMenguji Aturan KoleksiMengakumulasi dengan FoldRangkuman: Total yang Disetujui2Map Bagian 2
Menelusuri Entri MapKunci dan NilaiMap FrekuensiMap BersarangRingkasan: Laporan Frekuensi5Proyek: Buku Kontak
Menyimpan KontakMencari Kontak6Nilai Fungsi
Menulis LambdaTipe FungsiMeneruskan FungsiVariabel yang DitangkapRingkasan: Skor yang Dapat DiaturLatihan sendiri: Playground Kotlin