Lolcode - Funciones

Las funciones son útiles en la programación porque reducen el tiempo y el esfuerzo de escribir el código una y otra vez. Un código de función bien escrito ofrece una alta capacidad de reutilización. Este capítulo explica cómo escribir y trabajar con funciones en LOLCODE.

Definición de una función

Una función es un conjunto de declaraciones que se ejecutan todas a la vez llamando a esa función. En LOLCODE, la definición de una función comienza con la palabra clave "CÓMO IZ I" y la palabra clave de cierre es "SI LO DIGAS".

La sintaxis para escribir una función en LOLCODE es

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

Puntos importantes

Tenga en cuenta los siguientes puntos importantes cuando defina una función LOLCODE:

  • En LOLCODE, la función solo puede aceptar un cierto número fijo de argumentos como entrada.

  • Los argumentos o parámetros, son los identificadores que se convierten en una variable para la función.

  • Las funciones en LOLCODE no pueden acceder a ningún otro valor que no sean los valores que se les pasan como argumentos.

Devolución de valor de una función

Devolver en codificación significa algo que se devuelve. En programación, una función puede devolver algún valor al programa cuando se completa su ejecución. En LOLCODE, las funciones devuelven valores variables como se explica a continuación:

  • FOUND YR <any_expression> devuelve el valor de la expresión cuando el bloque de funciones se ejecuta por completo.

  • GTFO no devuelve ningún valor (NOOB), que es similar a return 0 en otros lenguajes de programación como C y Java.

  • Si no se encuentra ninguna otra declaración de devolución, entonces IF U SAY SO se ejecuta y se devuelve el valor de la variable de TI.

Funciones de llamada

Una función se define en el cuerpo del programa y luego se llama para su ejecución. Una función que acepta un número determinado de argumentos se llama como se muestra a continuación:

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

Al llamar a una función, la expresión está formada por el nombre de la función, seguido del número de argumentos que aceptará la función. Estos argumentos pueden ser variables simples o cualquier expresión. Si una función acepta cualquier expresión en lugar de un valor simple, los valores de las expresiones se calculan antes de llamar a la función.

Recuerde que el número de argumentos que aceptará una función debe definirse en la definición de la función.

Ejemplo

HAI

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

VISIBLE MAINUMBA

KTHXBYE

Cuando ejecute el código anterior, le pedirá una entrada y, luego, cuando envíe la entrada, verá el mismo resultado. Por ejemplo, si ingresamos 55, imprimirá 55.

Ejemplo

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

La función anterior que realiza la multiplicación de operandos de entrada imprimirá la siguiente salida cuando la ejecute:

sh-
4.3$ lci main.lo

6

Ejemplo

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

La salida que producirá el código anterior es:

sh-
4.3$ lci main.lo 
OBJECT1