Lolcode - Funções
As funções são úteis na programação porque reduzem o tempo e o esforço para escrever o código repetidamente. Um código de função bem escrito oferece alta capacidade de reutilização. Este capítulo explica como escrever e trabalhar com funções no LOLCODE.
Definição de uma função
Uma função é um conjunto de instruções que são executadas todas de uma vez ao chamar essa função. Em LOLCODE, a definição de uma função começa com a palavra-chave “HOW IZ I” e a palavra-chave de fechamento é “IF U SAY SO”.
A sintaxe para escrever uma função em 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
Pontos importantes
Considere os seguintes pontos importantes ao definir uma função LOLCODE -
Em LOLCODE, a função pode aceitar apenas um certo número fixo de argumentos como entrada.
Os argumentos ou parâmetros são os identificadores que se tornam uma variável para a função.
As funções em LOLCODE não podem acessar nenhum outro valor além dos valores passados a eles como argumentos.
Retornando valor de uma função
Retorno na codificação significa algo que é devolvido. Na programação, uma função pode retornar algum valor ao programa quando sua execução for concluída. No LOLCODE, as funções retornam valores variados, conforme explicado abaixo -
FOUND YR <any_expression> retorna o valor da expressão quando o bloco de funções é executado completamente.
GTFO não retorna nenhum valor (NOOB), que é semelhante a return 0 em outras linguagens de programação como C e Java.
Se nenhuma outra declaração de retorno for encontrada, então IF U SAY SO é executado e o valor na variável IT é retornado.
Funções de chamada
Uma função é definida no corpo do programa e posteriormente chamada para execução. Uma função que aceita um determinado número de argumentos é chamada conforme mostrado abaixo -
I IZ <function_name> [YR <expression_One> [AN YR <expression_Two>
[AN YR <expression_Three> ...]]] MKAY
Ao chamar uma função, a expressão é formada pelo nome da função, seguido pelo número de argumentos que a função aceitará. Esses argumentos podem ser variáveis simples ou quaisquer expressões. Se uma função aceita qualquer expressão em vez de um valor simples, os valores das expressões são calculados antes de a função ser chamada.
Lembre-se de que o número de argumentos que uma função aceitará deve ser definido na definição da função.
Exemplo
HAI
HOW DUZ I MAINUMBA
I HAS A NUMBA
GIMMEH NUMBA
FOUND YR NUMBA
IF U SAY SO
VISIBLE MAINUMBA
KTHXBYE
Quando você executa o código acima, ele solicitará uma entrada e, quando você enviar a entrada, verá o mesmo que o resultado. Por exemplo, se inserirmos 55, ele imprimirá 55.
Exemplo
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
A função acima que realiza a multiplicação dos operandos de entrada imprimirá a seguinte saída quando você executá-la−
sh-
4.3$ lci main.lo
6
Exemplo
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
A saída que o código acima irá produzir é -
sh-
4.3$ lci main.lo
OBJECT1