2

boolean.py私の選択したトランスパイラーとしてtranscryptを使用して、(パッケージはブール代数演算を行う)と呼ばれる比較的単純なpythonパッケージをjavascriptにトランスパイルする助けが必要です。

私がこれまでに行ったこと:

  1. inspectによってサポートされていないように見えるモジュールを使用して削除されましたtranscrypt
  2. 単純な単一ケースの継承 (および python 3 構文) のみをサポートするため、python コードSuperClassName.__init__()ではなく明示的な呼び出しに切り替えました。super(SuperClassName, self).__init__()transcrypt

現在のコードは、この github ブランチで見つけることができますtranscrypt

さて、良いニュースは、それboolean.pyは基本的に の下の単一の.pyファイルでboolean/boolean.pyあり、他のすべては単なる python プロジェクト構造です。悪いニュースは、 と のboolean.py両方で実行されるpython2ことpython3です。それが、これから説明する現在の問題の原因であるかどうかはわかりません。

transcrypt docsの関連セクションを読んだ後、ファイルをトランスパイルします。

cd boolean/ && transcrypt boolean.py

これにより、無害な警告が1つ表示され、とでフォルダーがbasestring作成されます。ここまでは順調ですね。__javascript__boolean.jsboolean.min.js

テスト__javascript__用に作成したフォルダーの横:boolean.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">

        <title>transcrypt boolean.py</title>
    </head>
    <body>
        <script src="__javascript__/boolean.js"></script>
    </body>
</html>

ただし、boolean.htmlFirefox をロードすると、コンソールに次の警告が表示されます。

TypeError: can't assign to properties of (new String("all_feature_namesnested_scopes,generators,division,absolute_import,with_statement,print_function,unicode_literals,barry_as_FLUFL,generator_stop")): not an object

代わりに、私が期待しているのは、サブbooleanオブジェクトを持つBooleanAlgebraオブジェクトです。helloおよびpongの例を参照transcryptして、それに応じて作成helloおよびpongオブジェクトを作成することを確認してくださいwindow

ここで私が間違っていることを説明してもらえますか?

4

1 に答える 1