我正在尝试使用"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__;
});},
re
模块仍然缺少一些功能。正如你在这里看到的
https://github.com/QQuick/Transcrypt/issues/443
有人自告奋勇地从事这项工作。不幸的是,最近没有报告任何进展,所以这个问题可能卡在某个地方。
由于我们没有相反的报告,我们假设这仍在建设中。但是,如果目前的情况继续下去,我们将寻找某人接手这项任务。
雅克