Quels conseils avez-vous pour jouer au golf à Nim ? Je recherche des idées qui peuvent être appliquées aux problèmes de code-golf et qui sont également au moins quelque peu spécifiques à Nim (par exemple, "supprimer les commentaires" n'est pas une réponse).
Veuillez poster un pourboire par réponse.
max a,b
même fonctionne (parfois).Utilisez le
future
moduleLe
future
module contient deux fonctionnalités d'économie d'octets principales: les lambdas et les listes de compréhension. Les lambdas sont extrêmement utiles.Par exemple, ceci:
peut être raccourci à ceci:
ce qui économise un octet. Notez cependant que les lambdas ne peuvent pas être utilisés en dehors d'une liste de paramètres - donc pour tester votre code, vous devrez faire quelque chose comme ceci:
De plus, les compréhensions de liste peuvent être utilisées avec le
future
module. Par exemple, ce code imprime une seq (@[...]
) de tous les carrés inférieurs à 100 divisible par 4:la source
any
place destring
(je suppose que vous avez choisi le nom de type le plus long), mais cela enregistre malgré tout.any
, merci pour le conseil! Vous devez poster cela comme réponse.proc(s:any):any=s&", world!"
en laissant tomber l'<space>f
anonymatproc
Opérateurs non signés
Lorsque vous travaillez avec des entiers non négatifs, il est parfois préférable d'utiliser des opérateurs non signés. Spécifiquement, si possible, utilisez
/%
et%%
au lieu dediv
etmod
.la source