Use sublinhados
Esta é provavelmente a dica mais importante. Quase todos os programas de golfe da Röda usam sublinhados.
A sintaxe de sublinhado é açúcar sintático para for
loops. As seguintes linhas de código são equivalentes:
ls""|fileLength x for x|sort|pull
ls""|fileLength _|sort|pull
Cada sublinhado adiciona uma nova variável a um for
loop invisível que está ao redor da instrução. O loop extrai um valor do fluxo para cada variável / sublinhado e depois se repete, até que nenhum valor seja deixado.
Os sublinhados podem ser usados em qualquer lugar nas instruções:
a[x:y+1]=[1]*(1+y-x) /* Sets range x..y (inclusive) */
seq x,y|a[_]=1 /* 6 bytes less */
Se você precisar se referir ao mesmo valor de sublinhado mais de uma vez ou usar os valores na ordem inversa, poderá colocar um número após o sublinhado:
a|[_^_1] /* maps x to x^x */
a|[_2-_1] /* maps each pair (x,y) to y-x, eg. [1,2,4,8] -> [1, 4] */