re finditer生成带有未捕获异常的javascript

时间:2018-04-12 16:15:06

标签: javascript python transcrypt

我正在尝试使用" transcrypt -e 6"将一些简单的Python代码编译为Javascript。当我使用Python的re模块中的finditer时,生成的Javascript代码在运行时有一个未捕获的异常。

蟒:

import re

re_token = re.compile('\w+')

def tokenize(s):
    positions = []
    for m in re_token.finditer(s):
        positions.append(m.start(0))
    return positions

print(tokenize('select * from x'))

堆栈跟踪:

Uncaught Function {__class__: ƒ, __args__: Array(1), stack: "No stack trace available", __cause__: null}
(anonymous) @   x.js:2838
(anonymous) @   x.js:53
tokenize    @   x.js:3566
(anonymous) @   VM68:1

堆栈中的顶部元素:

get finditer () {return __get__ (this, function (self, string, pos, endpos) {
                            if (typeof endpos == 'undefined' || (endpos != null && endpos .hasOwnProperty ("__kwargtrans__"))) {;
                                var endpos = null;
                            };
                            var __except0__ = NotImplementedError ('No Iterator Support in es5');
                            __except0__.__cause__ = null;
                            throw __except0__;
                        });},

1 个答案:

答案 0 :(得分:0)

re模块仍缺少某些功能。 正如你在这里看到的那样

https://github.com/QQuick/Transcrypt/issues/443

有人自告奋勇工作。 不幸的是,最近没有报道进展, 所以可能这个问题在某个地方卡住了。

由于我们没有相反的报告, 我们假设这仍在建设中。然而,如果目前的情况仍在继续,我们将会寻找某人 接管这项任务。

雅克