[Interest] QJSEngine won't evaluate octal literal
Fabrice Mousset | GEOCEPT GmbH
fabrice.mousset at geocept.com
Tue Aug 3 09:06:48 CEST 2021
I don't know why (perhaps the "strict mode" is always active with Qt?), but you to use 0o11 to force octal encoding to avoid confusion with binary encoding (0b11).
QJSEngine eng;
auto jsv = eng.evaluate("(function(){return 0o11;})()");
qDebug() << jsv.isError() << jsv.toString() << jsv.toVariant();
Regards
Fabrice Mousset
> -----Ursprüngliche Nachricht-----
> Von: Interest <interest-bounces at qt-project.org> Im Auftrag von Hamish
> Moffatt via Interest
> Gesendet: Dienstag, 3. August 2021 08:36
> An: Qt Interest <interest at qt-project.org>
> Betreff: [Interest] QJSEngine won't evaluate octal literal
>
> I have the following test code to evaluate an octal literal which I'm running on
> Qt 5.12 and 5.15;
>
> QJSEngine eng;
> auto jsv = eng.evaluate("(function(){return 011;})()");
> qDebug() << jsv.isError() << jsv.toString() << jsv.toVariant();
>
> This outputs:
>
> true "SyntaxError: Expected token `;'" QVariant(QVariantMap, QMap())
>
>
> It works if I use hex literals, and the octal code works in node.js. Why doesn't
> it work in QJSEngine?
>
>
> Hamish
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> https://lists.qt-project.org/listinfo/interest
More information about the Interest
mailing list