boolean.py
私の選択したトランスパイラーとしてtranscryptを使用して、(パッケージはブール代数演算を行う)と呼ばれる比較的単純なpythonパッケージをjavascriptにトランスパイルする助けが必要です。
私がこれまでに行ったこと:
inspect
によってサポートされていないように見えるモジュールを使用して削除されましたtranscrypt
- 単純な単一ケースの継承 (および 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.js
boolean.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.html
Firefox をロードすると、コンソールに次の警告が表示されます。
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
。
ここで私が間違っていることを説明してもらえますか?