問題タブ [edn]
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.edn/read を使用する方法は?
Clojure 1.5 が導入されました。clojure.edn
これには、PushbackReader
.
最初の 5 つのオブジェクトを読み取りたい場合は、次のようにします。
代わりにすべてのオブジェクトを印刷するにはどうすればよいですか? それらのいくつかが nil である可能性があることを考えると、EOF などをチェックする必要があるようです。から取得するものと同様の一連のオブジェクトが必要ですline-seq
。
clojure - ajaxリクエストを行わずに(つまり、hiccupで生成されたページを介して)clojureからclojurescriptにednを渡すにはどうすればよいですか
clojure と clojurescript を使用して RIA を開発しています。バックエンドはhiccupを使用して、次のような結果のhtmlを生成します
結果のhtml内で、つまりajax呼び出しを行わずに、edn(ハッシュマップ、ベクターなど)をclojurescriptに渡すにはどうすればよいですか?
hiccup に次のようなことをさせたい:
cljsから渡されたednに何らかの方法で(たとえば名前で)アクセスできるようにします。
現在、私の実装は少しハックで、edn をグローバル js var に格納しています。
そしてcljs側ではsmthのようにします
たぶん、これを達成するためのより慣用的な方法がありますか?
clojure - リングに使用できる正規の edn 応答はありますか?
私は edn 仕様を読んでいて、それを自分のアプリケーションに統合したいと考えています。ただし、clojure とクライアントの間で edn リクエストを転送する方法がわかりません。content-type application/edn を応答ヘッダーに入れて、prn 出力文字列を送信するだけですか?
clojure - 2013 年 8 月現在、Clojure で EDN ファイルを作成する「正しい」方法は何ですか?
Clojure から EDN データ ファイルをタグ付きリテラルとして書き出したいと思います。clojure.edn API にはread
とが含まれていますread-string
が、ライターはありません。ここで報告された問題についてはよく知っています。それに基づいて、pr
およびpr-str
関数が今日使用されることを意図しているものであることが私の理解です。
StackOverflow コミュニティに確認して、次のようなものが EDN ファイルを書き出す「正しい」方法と見なされるかどうかを確認したかったのです。
本番環境で EDN を使用している場合、EDN ファイルをどのように書き出すのですか? 上記に似ていますか?注意が必要な問題はありますか?
アップデート
Clojure Cookbook のエントリ「Emitting Records as EDN Values」には、この問題の詳細な説明と、有効な EDN タグを生成する処理方法が含まれています。
clojure - ednリーダーによって作成されたマップをclojurescriptでどのように使用しますか?
私が期待するように、これはClojureで印刷:bar
されます:
しかし、これnil
はClojureScriptで出力されます:
奇妙なことに、これは私が期待するようにClojureScript:bar
で出力されます。
リーダーが作成したマップ内の値にアクセスするにはどうすればよいですか? これは文字エンコーディングですか?
編集
コメントで要求された名前空間は次のとおりです。
templates - コード生成メタデータ ソースとしての Clojure EDN
Clojure は初めてで、Clojure を使用して他の言語のプログラミングを簡単にする方法を考えています。
私ができるようにしたいことの 1 つは、コード生成に Clojure を使用することです。
たとえば、データ ファイル (EDN 形式) からの入力が与えられた場合、(1) この構造をどのように処理するか、または (2) 既存のテンプレート メカニズムにデータをプッシュするか?
以下のデータは、単純な REST API を定義して、そこからクライアントを生成できるようにするためのものです。さまざまなテンプレートを使用して、複数の言語でクライアントを生成します。
結果のコードは次のようになります
注: 私の最終目標は、これらを C# 経由の System.Net.Http.HttpClient 呼び出しとして持つことですが、これらを JavaScript/Ajax 呼び出しに変換することもできます。
clojure - clojure で大きなデータ構造を EDN としてディスクに書き込む
Clojure でデータ構造をディスクに書き込む最も慣用的な方法は何ですか? Clojure cookbookで推奨されているように、次のことを試しました。
ただし、これは最初の 100 項目のみを書き込み、その後に "..." が続きます。私も試し(prn (doall large-data-structure))
てみましたが、同じ結果が得られました。
を使用して行ごとに記述することでなんとかそれを行うことができました(doseq [i large-data-structure] (pr i))
が、目的の結果を得るには、シーケンスの最初と最後に手動で括弧を追加する必要があります。