Suggerimenti per giocare a golf in LOLCODE


14

Quali consigli generali hai per giocare a golf in LOLCODE? Sto cercando idee che possano essere applicate ai problemi del codice golf in generale, almeno in qualche modo specifiche per LOLCODE. (es. "rimuovi commenti" non è una risposta). Si prega di inviare un suggerimento per risposta.


Avevo pensato di pubblicarlo da solo. In realtà non è impossibile giocare a golf in LOLCODE.
Alex A.

2
In qualche modo imbarazzante, la mia seconda e terza risposta più votata sono in LOLCODE. Quindi colgo l'occasione per condividere tutto ciò che so.
Alex A.

Risposte:


7

Definire le variabili usando la sintassi variable R value anziché I HAS A variable ITZ value.

Se vuoi impostare una variabile nuguale a 1,

n R 1

è solo 5 byte, mentre

I HAS A n ITZ 1

è di 15 byte.


2
Ma poi perdi l'intero punto di LOLCODE!
Ottimizzatore

3
@Optimizer: Ad essere sinceri, quando mai c'è un punto su LOLCODE?
Alex A.

18
Il punto di LOLCODE è ovviamente per i lol.
user12205

1
@ace: Okay, mi hai portato lì.
Alex A.

6
lol
bjb568

3

In molte implementazioni di LOLCODE, come quella su repl.it , HAIe KTHXBYEche iniziano e finiscono rispettivamente i programmi, non sono necessarie. Nelle implementazioni in cui sono necessarie, il numero di versione dopo HAInon è necessario (ad es HAI 1.2.).

Allo stesso modo, la STDIOlibreria viene in genere caricata per impostazione predefinita, quindi non CAN HAS STDIO?è necessaria.


3

In molti casi è più breve leggere valori variabili da STDIN anziché definire una funzione. Tuttavia, si noti che GIMMEH, che legge l'input da STDIN, legge sempre una YARN(cioè una stringa). Ma puoi trarre vantaggio dalla digitazione dinamica di LOLCODE e aggiungere 0 per convertire in aNUMBR .

Per esempio,

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

La definizione nè di 26 byte, incluse le nuove righe. Confronta questo con una funzione definita dall'utente:

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

Ciò richiede 28 byte.

Nota che potresti anche moltiplicare per 1 per convertire in a NUMBR, ma ciò richiede 4 byte in più rispetto alla somma:

GIMMEH n
n R PRODUKT OF n AN 1

1
Ma n IS NOW A NUMBRè un byte più corto din R SUM OF n AN 0
Leaky Nun,

@LeakyNun Quale implementazione ha? Non l'ho mai visto prima.
Alex A.

2

Quando si stampa il valore di una variabile su STDOUT, considerare quanto segue:

VISIBLE variable

è molto più breve di

VISIBLE ":{variable}"

Inoltre, ogni volta che una nuova riga finale è accettabile,

VISIBLE variable

che include una nuova riga finale per impostazione predefinita, è più breve di

VISIBLE variable!

che sopprime la newline.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.