問題タブ [language-interoperability]
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.
scala - java.util.Map から Scala Map に変換する方法
Java API は ; を返しjava.util.Map<java.lang.String,java.lang.Boolean>
ます。私はそれを入れたいと思いますMap[String,Boolean]
想像してみてください:
Map.empty ++ javaMap
++ メソッドは Java マップを認識しないため、実行できません。私は試した:
と:
ジェネリックのため、これらは両方ともコンパイルに失敗します -java.lang.String
スカラ文字列と同じではありません。
マップを手動でコピーする以外に、これを行う良い方法はありますか?
編集:ありがとう、すべての良い答え、私はそれらすべてから多くを学びました. しかし、私が実際に抱えている問題よりも簡単な問題をここに投稿して、間違いを犯しました。許可があれば、質問を一般化します - API が実際に返すのは
そして、これを Map[String, Map[SomeJavaEnum,String]] に移動する必要があります
それほど複雑ではないように思えるかもしれませんが、型消去のレベルが追加されます。これを Scala マップに移動するために私が見つけた唯一の方法は、それをディープ コピーすることでした (以下で提案した手法のいくつかを使用)。 . 誰でもヒントはありますか?正確な型の暗黙的な変換を定義することで問題を解決したので、少なくとも醜さはそれ自体の特性に隠されていますが、それでも多くを深くコピーするのは少し不器用です。
python - MATLAB から Python 関数を呼び出す
MATLAB から Python 関数を呼び出す必要があります。これどうやってするの?
inheritance - 安全でない Java インターフェースの実装
最近、Spring Security で開発中に問題が発生しました。GrantedAuthority
次のシグネチャを持つインターフェイスがあります。
また、Java 1.5 以降では、インターフェースComparable
は型パラメーターを取りますがT
、これは Spring Security ライブラリーでは省略されています (明らかに、JVM 1.4 との互換性のために)。
だから私はGrantedAuthority
Scalaで実装しようとしています。
コンパイルされません:
Scala でそのようなインターフェースを実装するにはどうすればよいですか?
python - Python に bash を埋め込む
Python スクリプトを書いていますが、時間がありません。私は bash でかなりよく知っているいくつかのことを行う必要があるので、Python スクリプトにいくつかの bash 行を埋め込むにはどうすればよいのでしょうか。
ありがとう
architecture - 言語の相互運用性におけるベスト プラクティスは何ですか?
複数の言語を使用する必要があるシステムで、コードが別の言語のコードを呼び出しているときに疎結合アーキテクチャを確保するためのベスト プラクティスは何ですか?
java - Scala (および Java) から DRb オブジェクト (Ruby Queue など) にアクセスする最良の方法は何ですか?
Ruby の非常に単純な Queue クラスを使用してさまざまな小さなスクリプトを作成し、DRb を使用して Ruby と JRuby プロセス間で Queue を共有しました。JRuby を使用して Scala (およびおそらく Java) からこれらにアクセスできると便利です。
jruby-complete.jar にアクセスするための Scala と JSR-223 インターフェイスをまとめました。
(java.util.Queue インターフェースにほぼ準拠していますが、Ruby クラスで提供されていない element と peek メソッドを実装していないため、インターフェースを宣言していません。)
これに関する問題は、型変換です。JRuby は Scala の文字列に問題ありません。これは Java 文字列であるためです。しかし、Scala Int または Long、または他の Scala タイプ (List、Set、RichString、Array、Symbol) のいずれか、またはその他のカスタム タイプを指定するとします。
これは不必要にハックに思えます: 確かに、JSR-223 API を使用せずに RMI/DRb 相互運用を行うためのより良い方法が必要です。offer メソッドがオブジェクトを、たとえば JSON 文字列にシリアル化し、toJson メソッドを持つオブジェクトのみの構造型を取るようにすることもできます。次に、JSON を解析する Ruby ラッパー クラス (または単に monkeypatch キュー) を記述します。
Java/Scala から DRb にアクセスしようとすることに意味はありますか? 実際のメッセージ キューをインストールする方が簡単なのでしょうか? (そうであれば、軽量な JVM ベースの MQ の提案はありますか?)
perl - Perlコードとの自動対話
明示的なAPIを作成してプロトコルを介して公開せずに、Perl5コードを自動的に操作する方法があるのではないかと思っていました。私はこの質問をそれを達成するための特定の方法に限定したくありません-私は何かアイデアを探しています。
たとえば、JVMベースの言語からJRubyを介してRubyにアクセスできます。ネイティブにコンパイルされた言語は通常、そのプラットフォームのネイティブ共有ライブラリ/標準の呼び出し規約を介してアクセスできます。他の人はコードからインターフェースを自動生成することができます...Perlのオプションは何ですか?
enums - 複数の言語間で列挙型を統合する
同じ列挙値のいくつかにそれぞれ依存する複数の言語のコンポーネントを持つ1つの大きなプロジェクトがあります。複数の任意の言語間で列挙型を統合するために、どのようなソリューションを考え出しましたか?いくつか考えられますが、最善の解決策を探しています。
(私の実装では、Php、Java、Javascript、およびSQLを使用しています。)
c# - PHP および Java と相互運用可能な C# dll
PHPおよびTomcat/Java Webサービスと相互運用可能なCシャープでdllを作成する必要があります。
通常の C# クラス ライブラリはこれに役立ちますか?
ありがとう、ジョン
.net - マーシャリングとは?何かが「マーシャリング」されると何が起きますか?
少なくともここでは、この質問が尋ねられたことを知っています。
しかし、少なくとも私にとっては、満足のいく答えはありませんでした。アンマネージ コードとの相互運用に関してマーシャリングについては多くの議論がありますが、.NET で行う必要がある場合のように、あるスレッドから別のスレッドへのマーシャリングについてはどうでしょうか。
これは、マーシャリングとは何ですか? マーシャリングの定義を与えるとき、スレッド間で「マーシャリング」している場合だけでなく、相互運用性のケースを説明するには、どのように定義しますか?