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.

String Manipulation

Назва Код Пояснення
"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 якщо not
Alternatively, != може бути використано замість >, в такому випадку, код є більш гнучким щодо значень у 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.