問題タブ [clojure-contrib]
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.
sql - Compojure + clojure.contrib.sql: SELECT クエリがキャッシュされています。なんで?
Compojure TODO アプリを作成しており、MySQL をプライマリ データ ストアとして使用しています。次のように、clojure.contrib.sql を使用して MySQL とやり取りしています。
私が使用しているクエリは機能しているように見えますが、結果はキャッシュされているようです。たとえば、実行した後
値はデータベースに正常に挿入されます。でも、
挿入されるアイテムの数に関係なく、同じ値を返します。もちろん、Web アプリを再起動すると、結果は更新されますが、これは本番環境にあまり適していないようです :)。
なぜこれが起こっているのでしょうか?前もって感謝します。
リクエストに応じて、SELECT クエリの最上位フォームを次に示します。
clojure - jarからのclojure関数のインポート
私はClojureで遊んでいますが、clojure-contrib.jarから関数をインポートする方法がわかりません。この答えから作業して、私は次のことをしています:
次のようにREPLを実行します。
次に、関数をインポートしようとしています。
動作せず、次のエラーが発生します。
java.io.FileNotFoundException:クラスパスでclojure_contrib/duck_streams__init.classまたはclojure_contrib/duck_streams.cljを見つけることができませんでした:(NO_SOURCE_FILE:0)
ダッシュの代わりにドットで試してみても機能しません。
ほとんど同じエラーが発生します:
java.io.FileNotFoundException:クラスパスでclojure / contrib/duck_streams__init.classまたはclojure/contrib / duck_streams.cljを見つけることができませんでした:(NO_SOURCE_FILE:0)
私は何が間違っているのですか?
clojure - Clojureでシーケンスをバイト[]に変換するには?
生のバイトをファイルに書き込む必要があります。私はそれを行います:
...ここで、バイトは byte[] 型でなければなりません。Byte[] にはできないことに注意してください。
(バイト)および/または(配列への)関数の両方でシーケンスを変換しようとしましたが、イライラしました。一例:
続き:
Byte/TYPE を使用した配列への変換は正常に機能します。ただし、バイト配列はそうではありません。ファイルが空になります:
clojure - Clojure の恒等モナドに使用する
私はClojure プログラマ向けのモナドの優れた入門書を読んでいます。この記事では、Identity モナドが Clojure のletと機能的に同等であり、Sequence/List モナドがforと同等であることを示しています。
この記事がモナド変換子に到達すると、Maybe モナドと Sequence モナドを組み合わせた例が示されます。forの代わりに Sequence モナドを使う理由の 1 つは、それを変換できるからです。しかし、Identity モナドを変換することは私には意味がありません。それは、変換するモナドが何であれ、構築することと常に同等ではないでしょうか? たとえば、Maybe を Identity で変換した場合、Maybe が返されるだけでなく、直接宣言する方が簡単でしたか?
Let よりも Identity モナドを選択するために Clojureに実用的な用途があるかどうかを誰かが明確にすることができますか(おそらく、トランスフォーマーの意味を完全に考えているわけではありませんか?)、それとも理論的な完全性のためだけにあるのでしょうか?
clojure - Clojure contrib sqlは、すべての数値をBigDecimalにします
clojure.contrib.sqlライブラリは、すべての数値フィールドに対してBigDecimalsを返します。いくつかのフィールドを整数にする良い方法は何ですか?以下のコード例:
結果として得られるレコードのコレクションでは、すべての数値がBigDecimalです。これらのいくつかは外部キーであり、私自身の理由から、整数である必要があります。
コレクションを反復処理して変換できることはわかっていますが、非常に大きなコレクションであるため、これは行いたくありません。数値が整数に収まる場合は、ライブラリでResultsSet.getIntegerを使用するのが正しいようです。
DBはOracleであり、整数DBフィールドはNUMBER(10)として定義されます。
ありがとう
clojure - clj-time と clojure.contrib を clojure 1.2 に含めるには?
1.2 で導入された新しいプロトコルのため、プロジェクトを clojure 1.1 から 1.2 に移行しようとしました。しかし、:use
clojure-contrib.duck-streams を実行しようとすると、既に clojure.core に存在する 'spit' に関する警告が表示されます。clojure.core にも存在する clj-time.core と 'extend' に関する同じ問題。
これらのばかげたエラーを回避する最もエレガントな方法を説明できる人はいますか?
ところで:私からproject.clj
:
java - clojure-contrib.jar インポート エラー
コマンド ラインは「D:\Progra~1\Java\jre6\bin\java.exe -jar D:\Old\Clojure\clojure.jar D:\Old\Clojure\clojure-contrib.jar」です。次のエラーが表示されます: clojure .lang.Compiler$CompilerException: clojure-contrib.jar:0: シンボルを解決できません: このコンテキストでは PK♥♦
clojure-contrib のバージョンは 1.1.0 です。ライブラリを使用して clojure を呼び出すにはどうすればよいですか?
clojure - clojureで大量のコマンド出力を読む
コマンドの非常に大きな出力を読み取るために、clojure.java.shell コマンドの sh 関数を使用しています。出力は約 60 メガのデータです。
java.lang.OutOfMemoryError が発生し続けます。出力を読み取って vector に解析できるような一種のパイプを開く方法はありますか。コマンド出力の遅延シーケンスのようなものですか?
基本的に、データは、数値に変換してベクトルに入れたいバイトの大きな配列です。
clojure - Clojureの文字列からリストを作成する
文字列をソースとして使用して、文字のリストを作成しようとしています。少しグーグルして何も思いつかなかったので、自分がやりたいことを実行する関数を作成しました。
しかし、これを見ると、私はトリックを逃しているに違いないように感じます。
- 私のためにこれを行うコアまたは貢献関数はありますか?確かに私はただ馬鹿げているだけですか?
- そうでない場合、このコードを改善する方法はありますか?
- 同じことが数字にも当てはまりますか?
clojure - Clojureの名前空間で定義されているすべての関数をどのように取得しますか?
現在の名前空間で定義されているすべての関数を見たいです。この質問に答えることができるREPLで呼び出すことができる関数はありますか?