На этом шаге мы рассмотрим преобразование в функции других частей кода. Продолжим выделение логики из прежней функции main() в отдельные функции, используя возможность выделения функций. Начнем с рефакторинга кода, определяющего цвет ауры. Выделите код, начиная со строки, где определяется видимость ауры, до строки, где заканчивается оператор if/else, проверяющий булево значение, которое мы хотим […]
Архив категории ‘Основы языка Kotlin’
Функции. Вызов функции


На этом шаге мы рассмотрим особенности вызова функции. IntelliJ не только сгенерировала функцию formatHealthStatus, но и добавила строку кода в место, откуда выделена функция: fun main() { val name = "Madrigal" var healthPoints = 89 val isBlessed = true val isImmortal = false // Аура if (isBlessed && healthPoints > 50 || isImmortal) […]
Функции. Анатомия функции (окончание)


На этом шаге мы закончим изучение этого вопроса. Параметры функции Далее идут параметры функции (рисунок 1). Рис.1. Параметры функции Параметры определяют имена и типы входных данных, необходимых функции для решения задачи. Функции могут требовать от нуля до нескольких и более параметров. Их количество зависит от того, для какой задачи они были […]
Функции. Анатомия функции


На этом шаге мы рассмотрим, из каких частей состоит функция. На рисунке 1 показаны две основные части функции, заголовок и тело, в которых имя formatHealthStatus используется как имя функции: Рис.1. Функция состоит из заголовка и тела Заголовок функции Первая часть функции - это заголовок. Заголовок функции состоит из пяти частей: модификатора видимости, […]
Функции. Выделение кода в функции


На этом шаге мы рассмотрим алгоритм выделения кода в функцию. Логика, которую вы написали для NyetHack в предыдущих шагах, была разумной, но лучше было бы организовать код в функции. Наше первое задание: реорганизовать проект и инкапсулировать большую часть логики в функции. Это подготовит почву для добавления новых возможностей в NyetHack. Означает ли […]
Функции (общие сведения)


На этом шаге мы приведем общие сведения о функциях. Функция - это фрагмент кода, который выполняет определенную задачу и может использоваться повторно. Функции - это очень важная часть программирования. Более того, программа, по сути, является последовательностью функций, взаимосвязанных для выполнения более сложной задачи. В прошлых шагах вы уже использовали функцию println() из […]
Условные конструкции. Практические задания


На этом шаге мы приведем несколько практических заданий с возможными решениями. Здесь мы предлагаем вам выполнить несколько заданий, направленных на закрепление изученного материала. Задание 1: пробуем интервалы Интервалы - мощный инструмент, и, немного попрактиковавшись, вы сочтете их синтаксис простым и понятным. Для выполнения этого простого задания откройте Kotlin REPL (Tools | […]
Условные конструкции. Шаблонные строки


На этом шаге мы рассмотрим создание и использование таких строк. Вы уже видели, что строку можно сконструировать из значений переменных и даже из результатов условных выражений. Чтобы упростить эту задачу и сделать код более понятным, в Kotlin предусмотрены шаблонные строки. Шаблоны позволяют включать значения переменных в кавычки. Обновите отображение состояния игрока, используя […]
Условные конструкции. Условное выражение when


На этом шаге мы рассмотрим синтаксис и логику использования этой конструкции. Условное выражение when - еще один способ управления потоком выполнения в Kotlin. Как и if/else, оператор when позволяет писать условия и выполнять код, соответствующий истинному условию. when обеспечивает краткий синтаксис и особенно хорошо подходит для условий с тремя и более ветвями. […]
Условные конструкции. Интервалы


На этом шаге мы рассмотрим назначение и использование указанной конструкции. Все условия в выражении if/else для healthStatus, по сути, проверяют целочисленное значение healthPoints. В некоторых используется оператор сравнения для проверки равенства healthPoints какому-то значению, в других используется несколько операторов сравнения, чтобы проверить, попадает ли значение healthPoints в интервал между двумя числами. Для второго […]