请帮助我检测以下代码中的错误
proc strcmp { d1 d2 } {
set res [string compare $d1 $d2]
switch $res
0 {
puts "String is equal "
}
1 {
puts "$d1 > $d2"
} default {
puts "$d2 > $d1"
}
}
当我尝试在tcl 8.5中执行时收到此错误消息
错误的#args:应该是“switch?switchs?字符串模式主体……?默认主体?”
最佳答案
您在另一行上有“0”。 Tcl将换行符视为命令终止符。您可能会看到类似“0:无此命令”的错误
使用任一行连续
switch $res \
0 {
puts "String is equal "
} \
1 {
puts "$d1 > $d2"
} \
default {
puts "$d2 > $d1"
}
或封闭支架(便于阅读)
switch $res {
0 {
puts "String is equal "
}
1 {
puts "$d1 > $d2"
}
default {
puts "$d2 > $d1"
}
}
文件:
关于switch-statement - Tcl开关盒错误,我需要对错误进行适当的解释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27765748/