Поради щодо гольфу в Іо


10

Які загальні поради щодо гольфу в Іо ? Я шукаю ідеї, які можна застосувати до коду проблем із гольфом взагалі, які принаймні дещо характерні для Іо (наприклад, "видалити коментарі" - це не відповідь). Будь ласка, опублікуйте одну пораду на відповідь.


1
Чи можете ви додати посилання на Іо?
caird coinheringaahing

Відповіді:


1

Ви можете приклеїти методи на задній частині більшості літералів

"text" print    # 12 bytes
"text"print     # 11 bytes

12 print        # 8 bytes
12print         # 7 bytes

(0<1,0,1) print # 15 bytes
(0<1,0,1)print  # 14 bytes

Не все

0x12print # prints nothing

1

Ви можете залишити іншу частину функції if

Цього немає в документації ... Я спочатку вважав, що ви повинні включити іншу частину, як-от оператор elvis іншими мовами; виявляється, що я можу залишити іншу частину. ( Будь ласка, додайте це до підручника / документації!)

if("bug"size>2,"True",nil)

Отже, якщо ви не хочете, щоб інша частина нічого повертала, ви можете просто зробити

if("bug"size>2,"True")

1

Скорочення функції вищого рівня

Це здається досить цікавою точкою для гольфу. Напр

list(1,2,3)map(i,i+1)print

Однак Іо досить дозвільний щодо невказання лічильника; тіло карти може використовуватися як точкова функція, оскільки Іо намагається заповнити операнд цього виразу. Це можна в гольф

list(1,2,3)map(+1)print
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.