Anteriormente, as conversões numéricas podiam ser acionadas adicionando zero (+0), unário mais (+) ou unário menos (-):
$ gawk --version
GNU Awk 4.1.4, API: 1.1 (GNU MPFR 3.1.6-p1, GNU MP 6.1.2)
$ gawk 'BEGIN {print "01" + 0}'
1
$ gawk 'BEGIN {print +"01"}'
1
$ gawk 'BEGIN {print -"01"}'
-1
No entanto, agora a conversão só acontece com a adição de zero e menos unário:
$ gawk --version
GNU Awk 4.2.0, API: 2.0 (GNU MPFR 3.1.6-p1, GNU MP 6.1.2)
$ gawk 'BEGIN {print "01" + 0}'
1
$ gawk 'BEGIN {print +"01"}'
01
$ gawk 'BEGIN {print -"01"}'
-1
Alguém sabe onde essa mudança foi mencionada ou por que foi feita?
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
Isso certamente não é intencional. Nós (os mantenedores do gawk ) procuraremos consertá-lo.
No futuro, ajudaria MUITO se essas perguntas fossem enviadas para o endereço de relatórios de bugs do gawk (
[email protected]
, consultegawk --help
), para que os desenvolvedores aprendessem sobre esses problemas e os corrigissem.