Dicas para jogar golfe em LOLCODE

14

Que dicas gerais você tem para jogar golfe no LOLCODE? Estou procurando idéias que possam ser aplicadas para codificar problemas de golfe em geral que sejam pelo menos um pouco específicos para o LOLCODE. (por exemplo, "remover comentários" não é uma resposta). Poste uma dica por resposta.

Loovjo
fonte
Eu tinha pensado em postar isso sozinho. Na verdade, não é impossível jogar golfe no LOLCODE.
Alex A.
2
Um tanto embaraçoso, minhas segunda e terceira respostas mais votadas estão no LOLCODE. Então, aproveito a oportunidade para compartilhar tudo o que sei.
Alex A.

Respostas:

7

Defina variáveis ​​usando a sintaxe em variable R valuevez deI HAS A variable ITZ value .

Se você deseja definir uma variável nigual a 1,

n R 1

é de apenas 5 bytes, enquanto

I HAS A n ITZ 1

tem 15 bytes.

Alex A.
fonte
2
Mas então você perde todo o ponto do LOLCODE!
Optimizer
3
@ Optimizer: Para ser justo, quando é que há um ponto em LOLCODE?
Alex A.
18
O objetivo do LOLCODE é para os risos, é claro.
User12205
1
@ace: Ok, você me pegou lá.
Alex A.
6
lol
bjb568
3

Em muitas implementações do LOLCODE, como a do repl.it , HAIe KTHXBYEque iniciam e encerram os programas, respectivamente, são desnecessárias. Nas implementações em que são necessárias, o número da versão apósHAI não é necessário (por exemplo HAI 1.2).

Da mesma forma, a STDIObiblioteca geralmente é carregada por padrão, CAN HAS STDIO?também é desnecessária.

Alex A.
fonte
3

Em muitos casos, é mais curto ler valores variáveis ​​de STDIN do que definir uma função. No entanto, observe queGIMMEH , que lê entradas de STDIN, sempre lê umYARN (ou seja, string). Mas você pode tirar proveito da digitação dinâmica do LOLCODE e adicionar 0 para converter em a NUMBR.

Por exemplo,

GIMMEH n
n R SUM OF n AN 0    
... (operations on n)

Definindo n é de 26 bytes, incluindo novas linhas. Compare isso com uma função definida pelo usuário:

HOW DUZ I f YR n
    ... (operations on n)
IF U SAY SO

Isso requer 28 bytes.

Observe que você também pode multiplicar por 1 para converter em a NUMBR, mas isso requer mais 4 bytes que a soma:

GIMMEH n
n R PRODUKT OF n AN 1
Alex A.
fonte
1
Mas n IS NOW A NUMBRé um byte mais curto quen R SUM OF n AN 0
Leaky Nun
@LeakyNun Que implementação tem isso? Eu nunca vi isso antes.
22416 Alex A.
2

Ao imprimir o valor de uma variável em STDOUT, considere o seguinte:

VISIBLE variable

é muito menor que

VISIBLE ":{variable}"

Além disso, sempre que uma nova linha à direita for aceitável,

VISIBLE variable

que inclui uma nova linha à direita por padrão, é menor que

VISIBLE variable!

que suprime a nova linha.

Alex A.
fonte