Категория: Функции
Имя класса: DefReturnBlock
Имя схемы: procedures_defreturn
Назначение:
- Регистрирует и настраивает функцию, возвращающую значение
Параметры:
- Поле ввода - имя новой функции. После размещения этого блока на холсте, в разделе "Функции" появится - Блок "вызов функции с возвратом" с ее именем
- Поле возврата - блок, возвращающий из функции результат ее выполнения. Этот блок будет выполнен когда выполнение функции завершится.
- Через шестеренку можно установить для функции входные аргументы
- Секция выполнения - место для последовательности блоков, которая будет выполняться при вызове функции
Пример использования блока с аргументами
Здесь сначала регистрируется функция с именем "сложить квадраты", с аргументами "x" и "y". При вызове функции значения этих аргументов будут возведены в квадрат и затем сложены и возвращены из функции.
Далее следует два вызова этой функции с аргументами 3 для "x" и 5 для "y", затем 2 для "x" и 4 для "y". Результаты вызовов сохраняются в переменные "a" и "b" соответственно.
Важно понимать, что внутри функции существует свой собственный контекст, а её аргументы - это отдельные локальные переменные, не связанные с одноименными переменными за пределами функции. Здесь, переменные "x" и "y" — это аргументы функции. Когда мы вызываем функцию, внутри нее "x" получит значение 3
, а "y" - 5
. Однако это никак не повлияет на переменные "x" и "y" за пределами функции - они останутся неизменными.
А вот переменная "а" ведёт себя иначе. Она не объявлена аргументом функции, а значит, используется напрямую. Это значит, что функция работает с внешней переменной "а", изменяя её значение. Если до вызова функции "а" имела одно значение, то после вызова она будет равна 8
(сумме 3
и 5
).
В теле функции можно разместить - Блок "прерывание функции", выполнение этого блока приведет к досрочному выходу из функции с возвратом указанного в нем значения.
Через вопросик можно заполнить описание функции. Это описание будет отображаться в виде всплывающей подсказки у Блок "вызов функции"