如何检查tcl中的变量是否为空
如果一个变量是空的,你怎么做?它可以包含如何检查tcl中的变量是否为空,tcl,Tcl,如果一个变量是空的,你怎么做?它可以包含“\n”或空格。 我现在正在做这个 if {{string trimleft $var} != ""} { # the variable is not empty puts $var } 但是,打印的变量似乎仍然是空的?是否将trimleeft删除“\n”? 有没有更好的方法来检查字符串是否为空?据我所知,检查字符串是否为空只需通过以下方式完成: if {$myString eq ""} { puts "string is emp
“\n”
或空格。
我现在正在做这个
if {{string trimleft $var} != ""} {
# the variable is not empty
puts $var
}
但是,打印的变量似乎仍然是空的?是否将trimleeft
删除“\n”
?
有没有更好的方法来检查字符串是否为空?据我所知,检查字符串是否为空只需通过以下方式完成:
if {$myString eq ""} {
puts "string is empty"
}
运行以下命令不应打印任何内容:
if {" " eq ""} {
puts "1"
} elseif {"\n" eq ""} {
puts "2"
}
我希望我正确理解了你的问题
if {{string trimleft "\n"} eq ""} {
puts "1"
} elseif {"\n" eq ""} {
puts "2"
}
- 上面的脚本将输出为nothing
- 我认为
不会从值中删除trimlefit
\n
if {[string trim $var] != ""} {
puts $var
}
没有指定字符?修剪将删除被视为空格、制表符、换行符和回车符的空白字符。您编写了
{string trimleet$var}
,但您可能应该编写[string trimleet$var]
。括号中的差异是Tcl的根本;卷曲是引号,正方形是脚本替换。请参阅trimleet
将删除\n
,但必须使用方括号,以便实际调用string trimleet
。