Conseils pour jouer au golf à Io

10

Quels conseils avez-vous pour jouer au golf à Io ? Je recherche des idées qui peuvent être appliquées aux problèmes de golf de code en général qui sont au moins quelque peu spécifiques à Io (par exemple, "supprimer les commentaires" n'est pas une réponse). Veuillez poster un pourboire par réponse.

Animesh 'le CODER'
la source
1
Pourriez-vous ajouter un lien vers Io?
caird coinheringaahing

Réponses:

1

Vous pouvez coller des méthodes sur le dos de la plupart des littéraux

"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

Pas tout

0x12print # prints nothing
Asone Tuhid
la source
1

Vous pouvez laisser de côté le reste de la fonction if

Ce n'est pas dans la documentation ... J'ai d'abord pensé que vous devez inclure la partie else, comme l'opérateur elvis dans d'autres langues; se révèle que je peux laisser de côté l'autre partie. ( Veuillez l' ajouter au didacticiel / à la documentation!)

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

Donc, si vous ne voulez pas que la partie else retourne quoi que ce soit, vous pouvez simplement faire

if("bug"size>2,"True")
Λ̸̸
la source
1

Raccourci de fonction de niveau supérieur

Cela semble être un point de golf assez intéressant. Par exemple

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

Cependant, Io est assez permissif pour ne pas spécifier le compteur; le corps de la carte peut être utilisé comme une fonction sans point, car Io essaie de remplir l'opérande de cette expression. Cela peut être joué dans

list(1,2,3)map(+1)print
Λ̸̸
la source