問題タブ [jython]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Jython を使用した Swing フォーカス イベントの処理
Jython 2.5
メソッドを JText コントロールの focusGained イベントにバインドしようとしていますが、見つかったすべての例は Jython ではなく Java サンプルです。コードは次のとおりです。各テキストコントロールがフォーカスを取得したときにカスタムメソッドを実行したい(たとえば、すべてのコントロールのテキストを選択するため)
python - Jython / Swing でキーボード ナビゲーションをリマップする
いくつかのナビゲーション キーを再マップしようとしています。
- ENTER: 標準の TAB 動作のように動作します (次のコントロールにフォーカス)
- SHIFT+ENTER: SHIFT+TAB のように動作します (前のコントロールにフォーカス)
- 上 / 下矢印: 前 / 次のコントロール
- 等
いくつかのオプションを試してみましたが、運が悪かった:
python - Python スクリプトを Jython で JAR ファイルとして配布しますか?
私はほぼ 2 年間 Python プログラマーを務めており、オフィスで行わなければならなかったいくつかの反復タスクを自動化するための小さなスクリプトを作成することに慣れています。さて、明らかに私の同僚はこれに気づき、それらのスクリプトも欲しがっています。
それらのいくつかには Mac があり、いくつかには Windows があります。私は窓でこれらを作りました。py2exe または py2app を使用してスクリプトのネイティブを作成する可能性を調査しましたが、満足することはありませんでした...
それらのすべてのシステムに JVM があることがわかったので、Jython のようなものを使用して、私のスクリプトの実行可能な JAR ファイルを 1 つ提供できますか?
これはどれほど実現可能でしょうか...つまり、Jythonのスクリプトの書き方がわかりませんでしたし、書いたときも気にしませんでした...どのような問題が発生しますか?
java - javaからマルチスレッドのjythonスクリプトを実行する方法は?
イベントをリッスンしてからJythonで処理するフレームワークをJavaで構築しています。さまざまなイベント タイプがさまざまなスクリプトに送信されます。
PythonInterpreter.exec() が呼び出されると、jython はスクリプトをコンパイルするのにかなりの時間がかかるため、スクリプトをプリコンパイルする必要があります。私は次の方法でそれをやっています:
PyCode でコンパイルされたオブジェクトはリポジトリにプッシュされ、イベントが受信されると使用されます。
ここで、私の難問について説明します。特定のタイプの複数のイベントが同時に発生する可能性があります。したがって、スクリプトの複数のインスタンスが同時に実行されます。
ほとんどすべてのスクリプトはおそらく短命のままで、最大 100 行、ループはありません。数と頻度は完全にランダム (ユーザー生成イベント) で、イベント タイプごとに 1 秒あたり 0 から約 200 になる可能性があります。
それを行う最善の方法は何ですか?私はいくつかの可能性を見ています:
- トリガーイベントポイントで同期を使用します-これにより、同じスクリプトの複数のインスタンスが防止されますが、イベントは本来の速度で処理されません
- 元の PyCode オブジェクトのクローンを作成することによって何らかの方法で入力された同じタイプのスクリプトのプールを作成します。おそらく最大の問題は、プール サイズの最適化です。
- 必要に応じて親からスクリプト オブジェクトを動的に複製し、exec() が終了したら破棄します。このようにして、コンパイルからラグが取り除かれますが、クローン メソッドにはまだ存在します。
おそらく 2 番と 3 番の組み合わせが最適でしょう - 動的プール サイズを作成しますか?
それで、何か考えはありますか?;)
jython - Jython(float配列をJavaに渡す)もっとPython的な方法はありますか?
私はEclipseSWT/JFaceを使用してjythonアプリケーションを作成しています。いくつかの値を取得するには、float配列をJavaオブジェクトに渡す必要があります。私はそれにjarrayパッケージを使用しています。それを行うためのより多くのpythonicな方法はありますか?
scala - ScalaとJythonの中置演算子
エンドユーザー向けの簡単な埋め込みスクリプト言語を必要とする計算指向のアプリの言語を評価しています。私は、Scalaを主要な基礎言語として使用し、Jythonをスクリプトインターフェイスとして使用することを考えていました。:*
Scalaの魅力は、行列オブジェクトの要素ごとの乗算などのメソッドを定義し、それを中置構文で使用できることa :* b
です。ただし、:*はPythonでは有効なメソッド名ではありません。Jythonはこれにどのように対処しますか?
柔軟性があるため、スクリプト言語としてScalaを使用することを検討します。しかし、型推論を使用しても、matlabのような動的言語に慣れている一般ユーザーにとって、すべてのval
およびvar
必要な型定義は多すぎます。比較すると、Booには機能する可能性のあるオプション-ducky
オプションがありますが、.NETではなくJVMを使用したいと思います。-ducky
Scalaはないと思います。
より一般的には、潜在的ディリクレ割り当てをモデル化するために、次のDSL(http://www.cs.utah.edu/~hal/HBC/から)を検討してください。
この構文は、階層ベイズモデリングに精通しているユーザーにとっては素晴らしいものです(たとえば、PyMCMCと比較して)。Pythonのような基本的なスクリプト言語にアクセスできることに加えて、そのような構文を簡単に定義できるJVM上の言語はありますか?
感謝します。
scala - Scala または Jython のマルチメソッドの代替
私はしばしば、自分が制御していないクラスにメソッドを追加したいという問題に直面します。たとえばprettyPrint
、統一された API を持たないさまざまなオブジェクト タイプ (特殊な__str__
メソッドなど) を操作できる関数が必要な場合があります。
このNice
言語R
は、ビジター パターンを適切に回避するマルチメソッドを使用してこれを実現します。たとえばR
、機能がありplot()
ます。個々のプログラマーは、新しいクラスを作成してデータ型 (ネットワーク グラフや株価情報データなど) を定義できます。二次的なユーザー/プログラマーは、グラフや株式ティッカー コード、または他のプロット関数のコードにアクセスできない場合でも、プロット関数を記述して機能を埋めることができます。
後で多くの機能を追加したいことを考えると、使用class.method()
は不可能に思えます。class_plot()
型ごとにたくさんの関数を用意するのも悪い考えのようです。型をチェックする 1 つの大きなplot()
関数を定義することは拡張できません。
マルチメソッドの代替手段は何ですか? 特に、Jython と Scala で動作する可能性のあるデザインに興味があります。
events - Jython での EventBus のリスニング
Jython からEventBusを使用しようとしています。Jython バスからのイベントの送信は期待どおりに機能し、Java コードからリッスンできます。しかし、Jython からバスにサブスクライブすることには問題があります。私はこれを試しています:
次のようになります。
最初の引数に何か問題がある可能性があることに驚いています。私の理解では、本来あるべき文字列リテラルです。何か案は?
python - Jython構文の拡張
Jythonに構文を追加して、ユーザーにとってより優れたAPIを有効にしたいと思います。たとえば、NumPyのような行列ライブラリは、Matlabの:*
対*
中置演算子のような行列演算と要素単位の演算の両方を持つことで恩恵を受けます。
次を使用して、Octaveでマトリックスを作成できます。
これはNumPyよりもかなり良いです:
R
行列/データフレーム内の変数を選択するために式「y〜x+z」を使用します。["y"] ["x","z"]
これは、文字列 "y〜x+y"の代替または解析よりもかなり優れています。
より複雑な例は、 EasyExtendを使用してCythonに実装できます。ただし、EasyExtendはJVMでは機能しません。
Jythonに構文を追加する最も簡単な方法ですが、適度に堅牢な方法は何ですか?まったく新しい言語構造を実装したり、jython内でミニ言語を定義したりするためのフレームワークがあると便利です。