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