Ich warWie konvertiere ich/konvertiere ich einen String in einen bool in Tcl?
if {[some_func $some_args]} {
....
}
erwarten wahr Evaluierungs- und einfach so schnell wie some_func
kehrt einige String zu arbeiten. Es gibt jedoch Fehler.
es auf die harte Tour lernen, nimmt Tcl nur die
- leeren String -> False
- 0 -> False
- false -> False
- true -> True
- 1 -> True
Um genau zu sein:
% 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 $
Es scheint expr
normalisiert es ist der Rückgabewert. Beachten Sie insbesondere das leere String-Ergebnis, wenn eine leere Zeichenfolge angegeben wird.
Also, wie konvertiere ich einfach Strings in booleans?
Streng genommen gibt es eine kleine Menge von Strings, die als boolesche interpretierbar angesehen werden; die anderen Möglichkeiten ... sind nicht. Wenn das nicht genug ist, würde ich nur ermutigen, darüber nachzudenken, was du wirklich meinst; Welche Art von Test willst du wirklich? –