Sb forum speech.png DiscordLink.png FacebookLink.png RedditLink.png SteamLink.png TwitterLink.png YoutubeLink.png

Фишки YOLOL

From Starbase wiki
Jump to navigation Jump to search
English Українська

YOLOL - очень бедный и ограниченный по функциям язык. Ограничения по размерам строки и количеству кода, а также медленная скорость выполнения стимулирует игроков на поиск более легких путей для достижения желаемого результата. Маленькая библиотека математических функций и ограниченное пространство вынуждают делать большие операции из маленьких блоков. Для этого, эта страница служит хранилищем неочевидных особенностей YOLOL, которые могут быть не очевидны при обращении к документации YOLOL.

Манипуляции со строками

Название Код Объяснение
“Pop” string---string Поднимает последний символ в string и удаляет этот символ, "abcd" становится "abc" при обращении к "d"
Проверка пустоты string-(string+otherstring) Если otherstring пуста, то тогда возвращает пустую строку, иначе возвращает string
Выбор a="foo1" b="bar2" c="meh3"
x=2
s=a+b+c-x-a-b-c
s=="bar"
Одна строка из набора будет выбрана, путем сопоставления их с соответствующими индексами, после удалит индекс, далее удалит все строки которые не подойдут к не индексированной. Если один индексированная будет подстрокой другой, то порядок строк будет иметь значение.
Содержит s="~meh~foo~bar~"
t="foo"
c=s>s-("~"+t+"~")
Возвращает 1 если t присутствует в s, и 0, если нет.
Иначе, != может быть использован вместо >, в таком случае, код более строго относится к символам в s
В зависимости от значений может быть и s и t, несколько или все из дилимитеров "~" могут быть удалены или заменены на другие значения, например числа.

Код-гольфинг

(для справки, это такая дисциплина в спортивном программировании, когда участники соревнуются в написании кратчайшего и красивейшего кода)

Если вы хотите писать читаемый код и сократить его для размещения на чипе, используйте yodk или Yololc для сокращения кода.

Сокращение названий переменных экономит вам байты, используйте f=b вместо foo=bar.

Назначение полей на переменные может выиграть вам пару байт, если вы используете эту фишку ни один раз. f=:f f f f f f f f f короче чем :f :f :f :f :f :f :f :f .

В большинстве случаев, пробелы опциональны. Помните, что ваш код может нести в себе неопределенность без пробелов в некоторых местах. Пробелы также обычно ставятся перед :, после if и then или же end, между числом или символом и буквой, и во многих других местах.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.