¿Qué consejos generales tienes para jugar al golf en Nim ? Estoy buscando ideas que se puedan aplicar a problemas de código de golf y que también sean al menos algo específicas para Nim (por ejemplo, "eliminar comentarios" no es una respuesta).
Por favor, publique un consejo por respuesta.
max a,b
incluso funciona (a veces).Usa el
future
móduloEl
future
módulo contiene dos características principales para guardar bytes: lambdas y listas de comprensión. Las lambdas son extremadamente útiles.Por ejemplo, esto:
se puede acortar a esto:
que ahorra un byte. Sin embargo, tenga en cuenta que las lambdas no se pueden usar fuera de una lista de parámetros, por lo que para probar su código, tendrá que hacer algo como esto:
Además, las comprensiones de listas se pueden usar con el
future
módulo. Por ejemplo, este código imprime una secuencia (@[...]
) de todos los cuadrados de menos de 100 divisibles por 4:fuente
any
lugar destring
(supongo que eligió el nombre de tipo más largo), pero aún así se guarda.any
, gracias por la sugerencia! Deberías publicar eso como respuesta.proc(s:any):any=s&", world!"
, dejando el<space>f
anónimoproc
Operadores sin firmar
Cuando se trabaja con enteros no negativos, a veces es mejor usar operadores sin signo. Específicamente, si es posible, use
/%
y en%%
lugar dediv
ymod
.fuente