Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Pour Tcl, 08 n'est pas un entier
#1
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...
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#2
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 :)
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP


Forum Jump:


Users browsing this thread: 1 Guest(s)