为什么Tcl 8.5将空字符串识别为double?请参阅以下简单代码:
puts [ string is double "" ]
>1
我认为double是一个明确定义的数字。
谢谢。
答案 0 :(得分:4)
那是因为一个逐字验证的输入字段在空的时候不应该是无效的。
使用-strict
选项禁止零长度双打。
有些人认为,默认情况下让命令识别有效的双打更好,而是使用一个标志使命令识别有效的双精度和空字符串。但是,为了保持兼容性,将来这种行为不太可能发生变化。
文档:string