問題タブ [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.
clojure - Clojure はこの方法でインストールできますか?
Clojure 1.2 https://github.com/downloads/clojure/clojure/clojure-1.2.0.zipをダウンロードし、/Library ディレクトリの下に展開し、CLOJURE_HOME を作成し、$CLOJURE_HOME/script を $PATH に追加しました。
script ディレクトリの下にある clj または repl スクリプトを実行しようとすると、次のエラーが発生します。
スレッド「メイン」での例外 java.lang.NoClassDefFoundError: jline/ ConsoleRunner 原因: java.lang.ClassNotFoundException: jline.ConsoleRunner at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController. doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: 301) java.lang.ClassLoader.loadClass(ClassLoader.java:248) で
OK、jline.jar は CLASSPATH にないので、clj と repl スクリプトをチェックしました:
$CLOJURE_HOME/script の下に jline.jar をダウンロードしましたが、それでも同じエラーが発生します。
これは私を質問に導きました:とにかくhttps://github.com/downloads/clojure/clojure/clojure-1.2.0.zip
の役割は何ですか?
Clojureのインストールに使用することになっていますか? それとも単に clojure.jar をビルドして取得するだけですか?
この方法でClojureをインストールすることについて誰も話していないことに気付きました。
何か不足していますか?
clojure - マップは複雑さを軽減します
私がこの入力を持っていると仮定しましょう:リストのリスト
(def list-of-list-3 (list(list 1 2 3)(list 4 5 6)(list 7 8 9)))
(map#(reduce *%1)list-of-list3)
この場合、map-reduceの複雑さはO(n ^ 2)ですか?
map-reduceは2つのネストされたものとして変換されますか?
したがって、上記の例をclojure REPLで実行すると、複雑さの時間はO(n)のように見えます。
入力サイズを複製する場合(list-of-list-6(list(list 1 2 3)(list 4 5 6)(list 7 8 9)(list 8 2 3)(list 9 8 1)(list 7 6 4)))時間は二次式ではなく、直線的に増加します。
誰もが理由を言うことができますか?
前もって感謝します
clojure - LispからClojureを学ぶ
私はLispが大好きですが、CLとSchemeにいくつか問題があるので、Clojureを新しいハッキング言語にすることを真剣に考えています。私はこれまでJava環境で作業したことがなく、Lispの経験は「SICP」と「TheLittleSchemer」での作業に限定されています。
何を知る必要がありますか?「TheClojureway」に関する優れたリソースはありますか?Clojureスタイルに関するリソースはありますか?Mark Volkmannのすばらしいページを見つけましたが、私が調べた本は少し余計なもののようです。
また、Javaについて何を知る必要がありますか?Clojureを学ぶためだけにJavaを学ぶのではなく、少なくとも少しは知っておく必要があると思います。また、ワークフローはどのようなものですか?私の経験は動的言語に限定されているので、JVMにソースなしでアプリケーションを配布するために何をしなければならないのかわかりません。
私はこれを明らかにグーグルで検索しましたが、大量の情報があり、「clojure固有の」ものはあまりありません。
ある種の論理的な順序で読むべき文学の種類について、いくつかの賢明な提案を探していると思います。
java - デフォルトのパッケージインポートの追加
Java、Scala、または一般的に任意のJVM言語には、デフォルトでインポートされるパッケージのセットがあります。たとえば、Javaは自動的にインポートjava.lang
します。Javaコードファイルでインポートする必要はありません。
これを正確に処理するコンポーネント(コンパイラ?JVM?)はわかりませんが、デフォルトで追加のパッケージやクラスをインポートする方法はありますか?
プロジェクト全体で使用する一連のユーティリティ関数を定義するパッケージがあるとします(例はscala.math
Scalaにある可能性があります)。すべての数学関連クラスで、そのインポートをスキップできれば素晴らしいと思います。
scala - Scalaジェネリック-ジェネリッククラス内にパラメーター化されたオブジェクトを作成できないのはなぜですか?
私は現在scalaを学んでいます。
このコードが機能しない理由:
エラー:
クラスタイプが必要ですが、 var y
の代わりにTが見つかりました-新しいT()
Javaから型消去しているからですか?これを解決する方法はありますか?ジェネリック関数内にタイプTの変数を作成しますか?
java - 「Hello, World!」の生成 Java ASM ライブラリを使用したクラス
現在取り組んでいるコンパイラ プロジェクトの ASM API をいじり始めました。しかし、ドキュメンテーションは多くの場所で新参者にとって明確ではないことがわかっており、単純に「Hello, World!」を出力するクラスを生成する良い確かな例があると思いました. ここにあるのは素晴らしい例です。
現在、(ClassWriter、ClassVisitor、および MethodVisitor クラスを使用して) main() を使用してクラスを生成できますが、メインの本体を生成する方法がわかりません。ASM でクラス ファイルを生成する例を教えてください。
- main() を含む
- 「Hello, World!」という値を持つローカル文字列変数を main() に作成します。
- 変数を出力します
concurrency - Clojureの並行性モデルとしてのAkka
Akkaフレームワークにはすばらしいことがたくさんあるようです(私はフレームワークを本当に理解していません。すぐに掘り下げたいと思っています)。
ClojureでAkkaを使用することをお勧めしますか?Clojureプロジェクトの並行性モデルとしてAkkaを使用し、組み込みの機能を削除することは理にかなっていますか?
clojure - Clojure プロジェクトの CLASSPATH を設定する
私は単純なプロジェクト構造を持っています:
クラスパスをエクスポートするには: $ export CLASSPATH=$CLASSPATH:src:lib/*
Clojure ファイルを実行しようとしています: java -cp $CLASSPATH -jar lib/clojure.jar src/wizard-game.clj
しかし、私は得た:
スレッド「メイン」の例外 java.io.FileNotFoundException:クラスパスで clojure/contrib/trace_init.class または clojure/contrib/trace.clj を
見つけられませんでした: 原因: java.io.FileNotFoundException: clojure/contrib/ を見つけられませんでしたクラスパスのtrace _init.class または clojure/contrib/trace.clj:
わかりました、これはクラスパスの問題ですが、何が/どこで間違っていますか?
それを実行しようとするより良い方法はありますか?
更新:
私はこのコマンドを試しました:
java -classpath $CLASSPATH clojure.main src/wizard-game.clj
今は問題なく動作します。
clojure - Clojure はコンパイルまたは解釈されますか?
Clojureがコンパイルされている場所を読みました。Jython や JRuby のように解釈されるのではなく、Java や Scala のように本当にコンパイルされますか?