Communauté Eggdrop
Pour Tcl, 08 n'est pas un entier - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Pour Tcl, 08 n'est pas un entier (/showthread.php?tid=489)



Pour Tcl, 08 n'est pas un entier - MenzAgitat - 22/08/2009

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...


RE: Pour Tcl, 08 n'est pas un entier - CrazyCat - 04/07/2013

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