Function (Lua): различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: «Функции»)
 
Строка 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