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