Особливості YOLOL
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, між числом або символом і буквою, і в багатьох інших місцях.