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 SOPontos 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> ...]]] MKAYAo 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
KTHXBYEQuando 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
KTHXBYEA 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
6Exemplo
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
KTHXBYEA saída que o código acima irá produzir é -
sh-
4.3$ lci main.lo 
OBJECT1