Que dicas gerais você tem para jogar golfe em Nim ? Estou procurando idéias que possam ser aplicadas a problemas de código-golfe e que também sejam pelo menos um pouco específicas para Nim (por exemplo, "remover comentários" não é uma resposta).
Poste uma dica por resposta.
max a,b
até funciona (às vezes).Use o
future
móduloO
future
módulo contém dois recursos principais de economia de bytes: lambdas e compreensão de lista. Lambdas são extremamente úteis.Por exemplo, isto:
pode ser reduzido para isso:
que salva um byte. Observe, no entanto, que lambdas não podem ser usadas fora de uma lista de parâmetros - portanto, para testar seu código, você terá que fazer algo assim:
Também, a compreensão da lista pode ser usada com o
future
módulo. Por exemplo, esse código imprime um seq (@[...]
) de todos os quadrados menores que 100 divisíveis por 4:fonte
any
vez destring
(suponho que você tenha escolhido o nome do tipo mais longo), mas isso ainda salva independentemente.any
, obrigado pela dica! Você deve postar isso como resposta.proc(s:any):any=s&", world!"
, descartando a opção<space>f
anônima.proc
Operadores não assinados
Ao trabalhar com números inteiros não negativos, às vezes é melhor usar operadores não assinados. Especificamente, se possível, use
/%
e em%%
vez dediv
emod
.fonte