[TCL] bestaat er een functie isInteger?

Pagina: 1
Acties:

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Ik ben bezig met met TCL en wil het verschil kunnen zien tussen een variabele waar ik een integer ingestopt heb en waar ik een string in heb gestopt:

Tcl:
1
2
3
4
5
6
proc foo var {
  #is var een integer?
}

foo 3
foo "3"


als ik zo naar de Tcl Commands Manual kijk zie ik niks dat er echt dichtbij komt, althans:

Tcl:
1
2
3
4
5
6
7
proc foo var {
  puts [ string is integer $var ]
}

foo 3
foo "3"
foo "konijn"


geeft bij zowel 3 als "3" true en alleen bij "konijn" false. Dat is dus niet wat ik wil.
(Is er misschien gewoon uberhaupt geen verschil tussen strings en integers in TCL?)

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02-05 01:32
Kuhlie schreef op woensdag 08 juni 2005 @ 16:29:
(Is er misschien gewoon uberhaupt geen verschil tussen strings en integers in TCL?)
Bingo. ;)

Alle scalaire variabelen zijn in principe strings, net zoals in shell languages. Strings die uit cijfers bestaan kun je toevallig als getallen gebruiken, maar ze zijn niet van een fundamenteel ander type. Het is eigenlijk hetzelfde verhaal als scalars in Perl.

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Ah, jammer. Het zij zo. Bedankt!