如何评估字符串是 Haxe 中的数字还是布尔值?

How do I evaluate if a string is a number or boolean in Haxe?

当我像这样评估 int 和 bool 时使用 Std.isOfType() returns false

Std.isOfType('123', Int); // returns false instead of true
Std.isOfType('true', Bool); // returns false instead of true

那么正确的做法是什么?我总是会收到一个字符串,所以我想确定它的类型。

您提供的代码返回 false,因为您传递的是 String 数据类型,而不是您正在测试的数据类型。

要更正此问题,您只需将数据直接传递给 isOfType 方法,如下所示:

Std.isOfType(123, Int); // returns true
Std.isOfType(true, Bool); // returns true

如果你想传入一个字符串(就像你现在这样),那么你只需要在测试之前将字符串解析为合适的数据类型,例如:

Std.isOfType(Std.parseInt('123'), Int)

通过快速阅读文档,我没有找到将字符串布尔值解析为实际布尔值的方法。