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

Difference between revisions of "Фишки YOLOL"

From Starbase wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{Otherlang2
{{Otherlang2
|en=YOLOL Tricks
|en=YOLOL Tricks
|ua=Особливості YOLOL
}}
}}


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


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

Latest revision as of 14:20, 8 October 2020

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.