Шаг 220.
Основы Kotlin.
Расширения. Задания для самостоятельного решения

    На этом шаге мы рассмотрим приведем несколько практических заданий с возможными решениями.

    Здесь мы предлагаем вам выполнить несколько заданий, направленных на закрепление изученного материала.

    Задание 1: расширение toDragonSpeak()

    В этом задании вернитесь в Tavern.kt. Преобразуйте функцию toDragonSpeak() в приватную функцию-расширение внутри Tavern.kt.

Раскрыть/скрыть решение и комментарии.

    Задание 2: расширение рамок

    Следующий пример - это маленькая программа, позволяющая вывести произвольную строку в красивой ASCII-рамке, которую можно распечатать и повесить на стену:

fun String.frame(name: String, padding: Int, formatChar: String = "*"): String {
    val greeting = "$name!"
    val middle = formatChar.padEnd(padding)
            .plus(greeting)
            .plus(formatChar.padStart(padding))
    val end = (0 until middle.length).joinToString("") { formatChar }
    return "$end\n$middle\n$end"
}

    В этом задании вы примените знания о расширениях. Попробуйте преобразовать функцию frame() в расширение, которое можно использовать с любой строкой. А вот и пример того, что у вас должно получиться:

print("Welcome, Madrigal".frame(5))
.   .   .   .
****************************
*    Welcome, Madrigal!    *
****************************

Раскрыть/скрыть решение и комментарии.

    Со следующего шага мы начнем рассматривать основы функционального программирования.




Предыдущий шаг Содержание Следующий шаг