Советы по игре в гольф в LOLCODE


14

Какие общие советы у вас есть для игры в гольф в LOLCODE? Я ищу идеи, которые могут быть применены к задачам по коду для гольфа в целом, которые, по крайней мере, несколько специфичны для LOLCODE. (например, «удалить комментарии» не является ответом). Пожалуйста, оставьте один совет за ответ.


Я думал о публикации этого сам. На самом деле это не невозможно играть в гольф в LOLCODE.
Алекс А.

2
Несколько неловко, но мои вторые и третьи самые высокие ответы находятся в LOLCODE. Поэтому я воспользуюсь этой возможностью, чтобы поделиться всем, что я знаю.
Алекс А.

Ответы:


7

Определите переменные, используя синтаксис, variable R valueа не I HAS A variable ITZ value.

Если вы хотите установить переменную, nравную 1,

n R 1

только 5 байтов, тогда как

I HAS A n ITZ 1

15 байт.


2
Но тогда вы теряете смысл LOLCODE!
Оптимизатор

3
@Optimizer: Если честно, когда есть смысл в LOLCODE?
Алекс А.

18
Дело в LOLCODE для LOL, конечно.
user12205

1
@ace: Хорошо, ты меня туда доставил.
Алекс А.

6
лол
bjb568

3

Во многих реализациях LOLCODE, например, один на repl.it , HAIи KTHXBYE, которые начинаются и заканчиваются программы соответственно, излишни. В реализациях, в которых они необходимы, номер версии после HAIне требуется (например, HAI 1.2).

Точно так же STDIOбиблиотека обычно загружается по умолчанию, поэтому CAN HAS STDIO?также не требуется.


3

Во многих случаях читать значения переменных из STDIN короче, чем определять функцию. Однако обратите внимание GIMMEH, что при чтении ввода из STDIN всегда читается YARN(то есть строка). Но вы можете воспользоваться преимуществами динамической типизации LOLCODE и добавить 0 для преобразования в a NUMBR.

Например,

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

Определение nсоставляет 26 байтов, включая переводы строки. Сравните это с пользовательской функцией:

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

Это требует 28 байтов.

Обратите внимание, что вы также можете умножить на 1, чтобы преобразовать в a NUMBR, но для этого требуется на 4 байта больше, чем сумма:

GIMMEH n
n R PRODUKT OF n AN 1

1
Но n IS NOW A NUMBRэто на один байт корочеn R SUM OF n AN 0
Leaky Nun

@LeakyNun Какая реализация имеет это? Я не видел этого раньше.
Алекс А.

2

При печати значения переменной в STDOUT учитывайте следующее:

VISIBLE variable

намного короче

VISIBLE ":{variable}"

Кроме того, всякий раз, когда завершающий перевод строки является приемлемым,

VISIBLE variable

который включает завершающий символ новой строки по умолчанию, короче

VISIBLE variable!

который подавляет перевод строки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.