Function (Lua): различия между версиями
Перейти к навигации
Перейти к поиску
Yodich (обсуждение | вклад) (Новая страница: «Функции») |
Yodich (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | Функции | + | == Описание == |
+ | |||
+ | '''Function''' — это основной механизм абстракции операторов и выражений в Lua. Функции могут как выполнять конкретную задачу, так и вычислять и возвращать значения. | ||
+ | |||
+ | Эффективность использование функций | ||
+ | |||
+ | * Функции полезны, если мы можем их назвать. | ||
+ | |||
+ | * Инструкции, которые появляются в программе более одного раза, обычно должны быть преобразованы в функцию. Например, если мы читаем пользовательские входные данные несколько раз одним и тем же способом, это отличный кандидат на роль функции. Если мы выводим что-то одним и тем же способом несколько раз, это тоже отличный кандидат на роль функции. | ||
+ | |||
+ | * Код с четко определенным набором входных и выходных данных является хорошим кандидатом на роль функции, особенно если он сложен. Например, если у нас есть список элементов, которые мы хотим отсортировать, код для сортировки будет отличной функцией, даже если это будет сделано только один раз. Входными данными является несортированный список, а выходными данными – отсортированный список. | ||
+ | |||
+ | * Функция обычно должна выполнять одну (и только одну) задачу. | ||
+ | |||
+ | * Когда функция становится слишком длинной, сложной или трудной для понимания, ее можно разделить на несколько подфункций. Это называется рефакторингом. | ||
+ | |||
+ | * Чтение входных данных от пользователя; | ||
+ | |||
+ | * Расчет значения на основе входных данных; | ||
+ | |||
+ | * Печать рассчитанного значения. | ||
+ | |||
+ | == Синтаксис == | ||
+ | Привязка к окну: нет. | ||
+ | <br>Работа со свернутым окном: да. | ||
+ | |||
+ | == Примеры == | ||
+ | |||
+ | --lua | ||
+ | -- Пример 1 | ||
+ | function add(a, b) -- создали функцию сложения | ||
+ | return a + b -- вернули значение | ||
+ | end |
Версия 18:37, 25 августа 2023
Описание
Function — это основной механизм абстракции операторов и выражений в Lua. Функции могут как выполнять конкретную задачу, так и вычислять и возвращать значения.
Эффективность использование функций
- Функции полезны, если мы можем их назвать.
- Инструкции, которые появляются в программе более одного раза, обычно должны быть преобразованы в функцию. Например, если мы читаем пользовательские входные данные несколько раз одним и тем же способом, это отличный кандидат на роль функции. Если мы выводим что-то одним и тем же способом несколько раз, это тоже отличный кандидат на роль функции.
- Код с четко определенным набором входных и выходных данных является хорошим кандидатом на роль функции, особенно если он сложен. Например, если у нас есть список элементов, которые мы хотим отсортировать, код для сортировки будет отличной функцией, даже если это будет сделано только один раз. Входными данными является несортированный список, а выходными данными – отсортированный список.
- Функция обычно должна выполнять одну (и только одну) задачу.
- Когда функция становится слишком длинной, сложной или трудной для понимания, ее можно разделить на несколько подфункций. Это называется рефакторингом.
- Чтение входных данных от пользователя;
- Расчет значения на основе входных данных;
- Печать рассчитанного значения.
Синтаксис
Привязка к окну: нет.
Работа со свернутым окном: да.
Примеры
--lua -- Пример 1 function add(a, b) -- создали функцию сложения return a + b -- вернули значение end