Communauté Eggdrop

Version complète : Pour Tcl, 08 n'est pas un entier
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Eh non : pour Tcl, 08 n'est pas un entier mais ressemble plutôt à une valeur octale mal exprimée.

Démonstration :
tcl
> expr 07 + 1
Tcl: 8
> expr 08 + 1
Tcl error: missing operator at _@_
Tcl error: in expression "0_@_8 + 1";
Tcl error: looks like invalid octal number
> expr int(08)
Tcl error: missing operator at _@_
Tcl error: in expression "int(0_@_8)";
Tcl error: looks like invalid octal number
> format %g 05
Tcl: 5
> format %g 08
Tcl error: expected floating-point number but got "08" (looks like invalid octal number)
> set test 08
 Tcl: 08
> incr test
Tcl error: expected integer but got "08"


Je vais en parler à mon psychiatre, il m'aidera peut-être à exprimer la valeur octale qui est en moi et que je me refuse à admettre...
Tiens, KiBa en a parlé sur le tchat, et voici des solutions:
tcl
set a 08
regsub {^ [0]} $a {\1} a
putlog expr $a - 1



tcl
set a 08
putlog expr $a.0 - 1



Deux petites astuces simples Smile