問題タブ [jvm-languages]
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.
java - ポリモーフィックメソッド呼び出しで、JVM に scala.Array[T] を Java 配列 T[] として認識させるにはどうすればよいですか?
この問題は、次のコードで見つけることができます。
2 番目のパラメーターとして渡すのは Any の配列であるため、このコードは SLF4J のデバッグ メソッドを呼び出す必要があります。
まだ
代わりに呼び出されます。
例を挙げましょう。
電話すると
記録する
それ以外の
注1: 最初の呼び出しはscala.Array Scaladocに基づいて機能すると想定しました。
多相配列を表します。Array[T] は、Java の T[] に対する Scala の表現です。
注 2: 私の質問の元となったコードは、https://github.com/alexmsmartins/UsefullScalaStuff/blob/master/src/main/scala/alexmsmartins/log/LoggerWrapper.scalaにあります。
これは、Scala プロジェクトで使用する slf4j の小さなラッパーです。
bash - JVM で実行される Bash スクリプト インタープリター (Jbash?)
JVM でのみ実行される (つまり、システム bash への「シェル化」に依存しない) bash シェル スクリプト インタープリターが存在するかどうか疑問に思っています。
このようなインタープリターは、他の多くの言語 (JRuby、Jython など) 用に存在します。bash スクリプト用のインタープリターもあると思っていましたが、まだ見つけていません。
推奨事項はありますか?
groovy - Groovy で When と Then を使用しますか?
いくつかの Groovy 記事で、Groovy での「when」および「then」キーワードの使用を見てきました。それらの 1 つがここにあります。Groovy Doc を検索しましたが、見つかりませんでした。では、これらのキーワードの実際の目的は何ですか? if/then? に似ています。
java - Java仮想メソッド:機能またはバグ?
この基本クラスを取る:
そして、この派生クラス:
目標は、mObj.doSomethingWith(mTheService);のみを呼び出すことでした。mTheServiceが有効になった後(これは基本クラスで発生しました)。それは常にmObjラインでNPEを吐き出していたということでした。なぜそうなったのかは理解できますが、私には不思議に見えます。それで、これはバグですか、それともDVMの機能ですか?JVMはどうですか?
compilation - 3 つのアドレス コードから JVM バイトコードへのコード生成
Renjin (JVM の場合は R) のバイト コード コンパイラに取り組んでおり、中間 3 アドレス コード (TAC) 表現をバイト コードに変換する実験を行っています。私が参照したコンパイラに関する教科書はすべて、コード生成時のレジスタ割り当てについて説明していますが、JVM のようなスタックベースの仮想マシンでコードを生成するためのリソースを見つけることができませんでした。
単純な TAC 命令をバイトコードに変換するのは簡単ですが、一時命令が含まれていると少し混乱します。これを説明するリソースへのポインタはありますか?
完全な例を次に示します。
元の R コードは次のようになります。
TAC IR:
(コンパイル時にプリミティブへの関数呼び出しを常に解決できるとは限らないという事実を少し無視してください)
結果の JVM バイト コードは、(おおまかに) 次のようになります。
基本的に、プログラムの先頭で、TAC 命令 2 に到達するまでにスタックの先頭にローカル変数 x が必要になると考えている必要があります。手動で考えることはできますが、これを正しく行うためのアルゴリズムを考えるのに苦労しています。ポインタはありますか?
clojure - 名前空間のコンテキスト内で clojure データ構造を評価するにはどうすればよいですか?
私は内部使用のための clojure アプリを書いています。設定ファイルも clojure に入れたいです。構成ファイルを簡単に記述できるようにいくつかのマクロを定義しましたが、構成ファイルからデータを評価しようとすると、マクロが見つかりません。ただし、これは REPL からは正常に機能します。たとえば、私は使用しています
次のエラーが表示されます。
ただし、私の名前空間の REPL から同じコマンドを実行しても問題なく動作します。
scala - Scalaで部分関数を使用する-それはどのように機能しますか?
私はScalaを初めて使用し、2.9.1を使用しており、部分関数の使用方法に頭を悩ませようとしています。私はカレー関数の基本を理解しており、部分関数は2naryなどのカレー関数のようなものであることを知っています。お分かりのように、私はこれで少し緑です。
XMLフィルタリングのような特定のケースでは、関数を部分的に実行できることが非常に有利であるように思われるので、それらの使用方法をよりよく理解することを望んでいます。
RewriteRule構造体を使用する関数がありますが、2つの引数で機能する必要がありますが、RewriteRule構造体は1つ、または部分関数のみを取ります。これは私がそれが役立つと思っているケースの1つだと思います。
アドバイス、リンク、知恵の言葉などは大歓迎です!
これまでの答えは素晴らしく、私が持っているいくつかの根本的な誤解を解消しました。彼らは私が苦労しているところも説明していると思います-もう少し具体的な新しい質問を投稿することは役立つと思うので、私もそうします。
haskell - フレーゲのハスケルのgetLineに相当し、
フレーゲのハスケルに相当するものはありgetLine
ますread
か?また、標準ライブラリのコンソールからの入力を解析しますか?
現在、私は次のようにしています。
アップデート:
Fregeは進化したので、今getLine
では標準ライブラリ自体にあります。についてread
は、Stringの変換メソッドがあります。さて、元の問題は単純です、
詳細については、以下のIngoの回答を参照してください。
scala - Scala と Clojure の両方が 1 つのプロジェクトに
この 2 つの言語での多言語プログラミングのガイドを探しています。
両方とも同じ Java VM 上で実行されており、両方とも同じバイトコードにコンパイルされているため、それらの間の相互運用が可能であることはわかっています。しかし、いくつかの面倒なことがあります:
(ええ、ええ、ある言語のjarをプラグインして、他の言語でプロジェクトできることを知っています。)
- 定型的な相互運用コードを書く必要がなくなるライブラリはありますか?
- 等々
問題は、Scala と Clojure で多言語開発をセットアップする方法です。