Consejos para jugar golf en LOLCODE

14

¿Qué consejos generales tienes para jugar al golf en LOLCODE? Estoy buscando ideas que se puedan aplicar a los problemas de golf de código en general que sean al menos algo específicos de LOLCODE. (por ejemplo, "eliminar comentarios" no es una respuesta). Por favor, publique un consejo por respuesta.

Loovjo
fuente
Había pensado en publicar esto yo mismo. En realidad no es imposible jugar golf en LOLCODE.
Alex A.
2
De manera algo vergonzosa, mi segunda y tercera respuesta más votada están en LOLCODE. Aprovecharé esta oportunidad para compartir todo lo que sé.
Alex A.

Respuestas:

7

Defina variables utilizando la sintaxis en variable R valuelugar de I HAS A variable ITZ value.

Si desea establecer una variable nigual a 1,

n R 1

son solo 5 bytes, mientras que

I HAS A n ITZ 1

es de 15 bytes.

Alex A.
fuente
2
¡Pero entonces pierdes toda la idea de LOLCODE!
Optimizador de
3
@Optimizer: Para ser justos, ¿cuándo hay algún punto para LOLCODE?
Alex A.
18
El punto de LOLCODE es para los lols, por supuesto.
user12205
1
@ace: Bien, me tienes allí.
Alex A.
66
lol
bjb568
3

En muchas implementaciones LOLCODE, como el de repl.it , HAIy KTHXBYE, que comienzan y programas finales, respectivamente, son innecesarias. En implementaciones en las que son necesarias, el número de versión posterior HAIno es necesario (por ejemplo HAI 1.2).

De manera similar, la STDIObiblioteca generalmente se carga de manera predeterminada, por CAN HAS STDIO?lo que también es innecesaria.

Alex A.
fuente
3

En muchos casos, es más corto leer valores variables de STDIN en lugar de definir una función. Sin embargo, tenga en cuenta que GIMMEH, que lee la entrada de STDIN, siempre lee un YARN(es decir, una cadena). Pero puede aprovechar la escritura dinámica de LOLCODE y agregar 0 para convertir aNUMBR .

Por ejemplo,

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

La definición nes de 26 bytes, incluidas las nuevas líneas. Compare esto con una función definida por el usuario:

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

Esto requiere 28 bytes.

Tenga en cuenta que también puede multiplicar por 1 para convertir a a NUMBR, pero eso requiere 4 bytes más que la suma:

GIMMEH n
n R PRODUKT OF n AN 1
Alex A.
fuente
1
Pero n IS NOW A NUMBRes un byte más corto quen R SUM OF n AN 0
Leaky Nun
@LeakyNun ¿Qué implementación tiene eso? No lo he visto antes.
Alex A.
2

Al imprimir el valor de una variable en STDOUT, tenga en cuenta lo siguiente:

VISIBLE variable

es mucho más corto que

VISIBLE ":{variable}"

Además, siempre que una nueva línea final sea aceptable,

VISIBLE variable

que incluye una nueva línea final por defecto, es más corta que

VISIBLE variable!

que suprime la nueva línea.

Alex A.
fuente