Ich schreibe einen Code, um etw zu tun, wenn er "-" in einer Zeichenfolge erkennt. wenn ich das tue:Ignorieren von "-" in Tcl
switch [string index $code $j] {
"-" { set mem($ptr) [expr $mem($ptr) - 1] ; }
Aber Tcl interpretiert dies als es ist "-" als switch
Option prefix:
bad option "-": must be -exact, -glob, -regexp, -command procname or --
Ich habe versucht, zu ersetzen "-" mit einem anderen Charakter:
regsub -all "-" $code "m" code
Aber es ist dasselbe:
bad switch "-": must be -all, -nocase, -expanded, -line, -linestop, -lineanchor, -start, or --
Es kommt sogar vor, wenn ich \u2d
verwenden:
regsub -all \u2d $code "m" code
switch $code \u2d {puts "hi" ;}
Tipp des Tages verwenden: statt von 'set mem ($ ptr) [ausdr $ mem ($ ptr) - 1]', benutze 'incr mem ($ ptr) -1'. Wenn Sie das nicht tun, schränken Sie zumindest den Ausdruck ein: 'expr {$ mem ($ ptr) - 1}'. –