Communauté sur les Eggdrops - Community about Eggdrops
Pour Tcl, 08 n'est pas un entier - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (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)
+--- Thread: 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 :)