Учебники

Lolcode — Функции

Функции полезны в программировании, потому что они сокращают время и усилия для написания кода снова и снова. Хорошо написанный код функции предлагает высокую возможность повторного использования. В этой главе объясняется, как писать и работать с функциями в LOLCODE.

Определение функции

Функция — это набор операторов, которые выполняются одновременно при вызове этой функции. В LOLCODE определение функции начинается с ключевого слова «КАК IZ I», а закрывающее ключевое слово «IF U SAY SO».

Синтаксис для написания функции в LOLCODE:

HOW IZ I <function name> [YR <parameter/argument> [AN YR <other _arguments..> …]]
   <code block to execute / Set of statements to execute>
IF U SAY SO

Важные моменты

При определении функции LOLCODE обратите внимание на следующие важные моменты:

  • В LOLCODE функция может принимать только определенное фиксированное количество аргументов в качестве входных данных.

  • Аргументы или параметры — это идентификаторы, которые становятся переменной для функции.

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

В LOLCODE функция может принимать только определенное фиксированное количество аргументов в качестве входных данных.

Аргументы или параметры — это идентификаторы, которые становятся переменной для функции.

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

Возвращаемое значение из функции

Возврат в кодировке означает то, что возвращается. При программировании функция может возвращать некоторое значение программе, когда ее выполнение завершено. В LOLCODE функции возвращают переменные значения, как описано ниже —

  • FOUND YR <any_expression> возвращает значение выражения, когда функциональный блок выполняется полностью.

  • GTFO не возвращает значения (NOOB), что аналогично возвращению 0 в других языках программирования, таких как C и Java.

  • Если другой оператор возврата не найден, выполняется IF U SAY SO и возвращается значение в переменной IT.

FOUND YR <any_expression> возвращает значение выражения, когда функциональный блок выполняется полностью.

GTFO не возвращает значения (NOOB), что аналогично возвращению 0 в других языках программирования, таких как C и Java.

Если другой оператор возврата не найден, выполняется IF U SAY SO и возвращается значение в переменной IT.

Функции вызова

Функция определяется в теле программы и позже вызывается для выполнения. Функция, которая принимает заданное количество аргументов, вызывается, как показано ниже —

I IZ <function_name> [YR <expression_One> [AN YR <expression_Two> 
   [AN YR <expression_Three> ...]]] MKAY

При вызове функции выражение формируется из имени функции, за которым следует количество аргументов, которые будет принимать функция. Эти аргументы могут быть простыми переменными или любыми выражениями. Если функция принимает любое выражение вместо простого значения, то значения выражений вычисляются до вызова функции.

Пожалуйста, помните, что число аргументов, которые будет принимать функция, должно быть определено в определении функции.

пример

HAI

HOW DUZ I MAINUMBA
   I HAS A NUMBA
   GIMMEH NUMBA
   FOUND YR NUMBA
IF U SAY SO

VISIBLE MAINUMBA

KTHXBYE

Когда вы запускаете приведенный выше код, он запрашивает ввод, а затем, когда вы отправляете ввод, вы увидите то же самое, что и результат. Например, если мы введем 55, будет напечатано 55.

пример

HAI 1.2
HOW IZ I MULTIPLY YR FIRSTOPERANT AN YR SECONDOPERANT
   FOUND YR PRODUKT OF FIRSTOPERANT AN SECONDOPERANT
   IF U SAY SO
   VISIBLE I IZ MULTIPLY YR 2 AN YR 3
KTHXBYE

Приведенная выше функция, которая выполняет умножение входных операндов, напечатает следующий вывод при его запуске:

sh-
4.3$ lci main.lo

6

пример

Live Demo

HAI 1.2
I HAS A STRINGARRAY ITZ A BUKKIT
   STRINGARRAY HAS A VAR17 ITZ "OBJECT1"
   STRINGARRAY HAS A VAR18 ITZ "OBJECT2"
   HOW IZ STRINGARRAY ACCESS YR VARIABLE
      FOUND YR STRINGARRAY'Z SRS VARIABLE
   IF U SAY SO
   I HAS A STRING ITZ "VAR17"
   VISIBLE STRINGARRAY IZ ACCESS YR STRING MKAY
KTHXBYE

Вывод, который произведет приведенный выше код: