1

「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__;
                        });},
4

1 に答える 1