私は期待していました
if {[some_func $some_args]} {
....
}
some_func
true を評価し、文字列を返すとすぐに機能します。ただし、エラーがあります。
苦労して学ぶと、Tcl は
- 空文字列 -> False
- 0 -> 偽
- 偽 -> 偽
- 真 -> 真
- 1 -> 真
正確には:
% expr 1
1
% expr 0
0
% expr
wrong # args: should be "expr arg ?arg ...?"
% expr {{}}
% expr true
true
% expr false
false
% expr True
syntax error in expression "True": variable references require preceding $
% expr False
syntax error in expression "False": variable references require preceding $
expr
戻り値を正規化していないようです。空の文字列が指定された場合、特に空の文字列の結果に注意してください。
では、文字列をブール値に簡単に変換するにはどうすればよいでしょうか。