Aperte o espaço em branco
Conheça as regras para espaços em branco no seu idioma. Alguns sinais de pontuação ou outros caracteres podem não precisar de espaço em branco ao redor. Considere esta função de shell Bourne :
f () { echo a; echo b; }
No shell Bourne, ();
são metacaracteres e não precisam de espaço em branco circundante. No entanto, {}
são palavras e precisam de espaço em branco, a menos que estejam ao lado de metacaracteres. Podemos jogar fora 4 espaços ao lado ();
, mas devemos manter o espaço entre {
e echo
.
f(){ echo a;echo b;}
No Common Lisp e no PicoLisp , ()
são metacaracteres. Considere este código para encontrar a média de dois números:
(/ (+ a b) 2)
Podemos jogar fora 2 espaços.
(/(+ a b)2)
Alguns idiomas têm regras estranhas e sutis para espaços em branco. Considere este programa Ruby, que imprime a soma e o produto de uma linha de números inteiros.
#!ruby -an
i=$F.map &:to_i
puts"#{i.reduce &:+} #{i.reduce &:*}"
Cada &
um precisa de um espaço antes de si. Em Ruby, i=$F.map &:to_i
significa i=$F.map(&:to_i)
onde &
passa um parâmetro de bloco. Mas, i=$F.map&:to_i
significa i=$F.map.&(:to_i)
onde &
está um operador binário.
Essa estranheza acontece em idiomas, como Perl ou Ruby, que usam pontuação ambígua. Em caso de dúvida, use um REPL ou escreva programas curtos para testar as regras de espaço em branco.