Wskazówki do gry w golfa w LOLCODE


14

Jakie masz ogólne wskazówki na temat gry w golfa w LOLCODE? Szukam pomysłów, które można by zastosować do ogólnych problemów z golfem, które są przynajmniej nieco specyficzne dla LOLCODE. (np. „usuń komentarze” nie jest odpowiedzią). Proszę zamieścić jedną wskazówkę na odpowiedź.


Myślałem o tym, żeby to opublikować. Gra w LOLCODE jest właściwie niemożliwa.
Alex A.,

2
Nieco zawstydzające, moje drugie i trzecie najwyższe uprzywilejowane odpowiedzi są w LOLCODE. Wykorzystam więc tę okazję, aby podzielić się wszystkim, co wiem.
Alex A.,

Odpowiedzi:


7

Zdefiniuj zmienne używając składni variable R valuezamiast I HAS A variable ITZ value.

Jeśli chcesz ustawić zmienną nrówną 1,

n R 1

ma tylko 5 bajtów, podczas gdy

I HAS A n ITZ 1

ma 15 bajtów.


2
Ale wtedy tracisz cały sens LOLKODU!
Optymalizator

3
@Optimizer: Szczerze mówiąc, kiedy jest kiedykolwiek sens LOLCODE?
Alex A.,

18
Oczywiście LOLCODE dotyczy loli.
user12205

1
@ace: Dobra, masz mnie tam.
Alex A.,

6
lol
bjb568

3

W wielu implementacjach lolcode, takich jak ten na repl.it , HAIi KTHXBYE, które rozpoczynają i programów końcowych odpowiednio, są niepotrzebne. W implementacjach, w których są one konieczne, numer wersji po HAInie jest konieczny (np HAI 1.2.).

Podobnie, STDIObiblioteka jest zwykle ładowana domyślnie, więc CAN HAS STDIO?jest również niepotrzebna.


3

W wielu przypadkach krótsze jest odczytywanie wartości zmiennych ze STDIN niż definiowanie funkcji. Zauważ jednak, że GIMMEHktóry odczytuje dane wejściowe ze STDIN, zawsze czyta YARN(tj. Ciąg). Ale możesz skorzystać z dynamicznego pisania LOLCODE i dodać 0, aby przekonwertować na aNUMBR .

Na przykład,

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

Definiowanie nto 26 bajtów, w tym znaki nowego wiersza. Porównaj to z funkcją zdefiniowaną przez użytkownika:

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

Wymaga to 28 bajtów.

Zauważ, że możesz również pomnożyć przez 1, aby przekonwertować na a NUMBR, ale to wymaga 4 bajtów więcej niż suma:

GIMMEH n
n R PRODUKT OF n AN 1

1
Ale n IS NOW A NUMBRjest o jeden bajt krótszy niżn R SUM OF n AN 0
Leaky Nun

@LeakyNun Która implementacja ma to? Nie widziałem tego wcześniej.
Alex A.,

2

Podczas drukowania wartości zmiennej na STDOUT, weź pod uwagę następujące kwestie:

VISIBLE variable

jest znacznie krótszy niż

VISIBLE ":{variable}"

Ponadto, ilekroć końcowy znak nowej linii jest dopuszczalny,

VISIBLE variable

który domyślnie zawiera znak nowej linii, jest krótszy niż

VISIBLE variable!

co tłumi nową linię.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.