2016-04-27 7 views
-1

umgehen Mit dem folgenden Code bekomme ich invalid command name Fehlermeldung.wie mit ungültigen Befehl Fehler

Code:

set value 1 
if {$value == 0} { 
     set val [expr $val & 0xFFFFFEFF] 
    } else { 
     set val [expr $val | 0x100] 
     puts "value= $val" 
    } 

Fehler:

invalid command name "else" 
    while executing 
"else { 

Was im Code falsch?

+0

Wo ist die Variable "val" definiert? Mit einem Dummy 'val'-Wert funktioniert der Code einwandfrei. – Dinesh

+0

Sie erhalten diesen 'ungültigen Befehlsnamen 'else" 'wenn Sie' else' ohne 'if' Befehl verwendet haben. – Dinesh

+0

val wird nur als einfache Variable verwendet – aki

Antwort

2

Das Snippet

set value 1 
if {$value == 0} { 
     set val [expr $val & 0xFFFFFEFF] 
    } else { 
     set val [expr $val | 0x100] 
     puts "value= $val" 
    } 

diesen Fehler nicht verursacht, aber diese Schnipsel tun:

set value 1 
if {$value == 0} { 
     set val [expr $val & 0xFFFFFEFF] 
    } 
    else { 
     set val [expr $val | 0x100] 
     puts "value= $val" 
    } 

Dies wegen der Newline ist zwischen der schließenden Klammer der ersten if Klausel und der Wort else. Ich vermute, dass Sie versehentlich den Code beim Hochladen selbst korrigiert haben.

+0

Das gleiche, was ich im Kommentar erwähnt .. :) Ich könnte auch vermuten, dass die gleiche Sache, die er falschen Code geschrieben hat .. –

+0

@ AxT_8041: ja, und Dinesh brachte es auch auf. Ich dachte, es könnte nützlich sein, den Unterschied deutlicher als möglich in einem Kommentar darzustellen. Es ist ein häufig genug Fehler. –

+0

okay ...... ja ich habe es korrigiert – aki

Verwandte Themen