Я использую String.split
для разбора строки командной строки в массив строк. Затем результат используется для вызова функции с использованием Function.apply
API.
Если apply(null, ["17"])
вызывается с этой функцией:
static function test(foo:int):void
{
trace(foo, typeof(foo));
}
работает как положено (вывод: 17 number
).
Однако, вызывая apply(null, ["false"])
или apply(null, ["0"])
с этой функцией:
static function test(foo:Boolean):void
{
trace(foo, typeof(foo));
}
не работает (ожидаемый вывод: false Boolean
; фактический вывод: true Boolean
).
Есть ли способ заставить его распознавать "true"
и "false"
(или что-нибудь еще) как логические значения, так же, как это делает с числовыми строками? В идеале "true"
и "false"
также должны оставаться действительными строковыми значениями.