問題タブ [clojurescript]
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とclojurescriptの両方で機能する単一のパブリッシュ/サブスクライブはありますか?
clojureとClojureScriptの両方で実行されるゲームCrossfireを作成しようとしていますが、両方で機能するパブリッシュ/サブスクライブメカニズムが必要です。ラミナとショアリーブを見たことがありますが、どちらもそれぞれの環境に依存しています。
加入者がメッセージを待つことができるイベントシステムが必要です。
clojure - ClojureScript と Domina の使用時の未定義メソッド エラー
最近、あるプロジェクトで ClojureScript を試し始めました。次のコード:
「高度な」最適化でコンパイルすると、「a.delete」リンクをクリックすると次のエラーが発生します。
ただし、「単純な」最適化でコンパイルした場合は問題ありません。
誰かが私を正しい方向に向けることができますか? ありがとう。
emacs - clojurescript でのブラウザー Repl、ブラウザー、http サーバー間の相互作用
私は clojurescriptone (きちんとしたプロジェクト) をいじって、clojurescript がどのように機能するかを理解しようとしました。3 つのコンポーネント、ブラウザー、ブラウザー repl、および http サーバーがどのように相互作用するかは明確ではありません。
開発環境にemacsを使用しています
ClojureScript(CS) をよりよく理解するために、clojurescriptone(CS1) を移植して lein2 を使用し、nrepl を repl として使用することにしました。ポートは機能し、CS1 環境を起動してブラウザとやり取りすることができました。私は - 今のところ - 下位の Lisp プロセスを開始して CS repl を操作するのではなく、clojure repl 内で CS repl を実行することを好みます。これの唯一の欠点は、CS repl が stdin から入力を受け取り、emacs が stdin を使用するように促すことです。これを回避するために、CS1 の一部のコードを置き換えて、Chas Emerick によって書かれた piggieback ライブラリから repl を開始しようとしています。
そうすることで、これらのコンポーネントがどのように相互作用するかについての理解の限界に達しました。どうやら私が収集できるものから、ブラウザのreplは、いくつかのポートでリッスンする「サーバー」です。ずっと、HTTP サーバーにリクエストを送信し、結果を評価した後に出力をブラウザーにリダイレクトするのはある種のクライアントだと思っていました (どのように??)。今、私はそれが事実であるかどうか確信が持てません。
これらのコンポーネントはどのように相互作用しますか?
説明が長くなってすみません!!!
シド
javascript - Javascript から ClojureScript への変換
次の行を Cljs に変換しようとしていますが、
対応するマップは何でしょうか。
ClojureScriptで?enableHighAccuracy はシンボルですか?
google-closure-compiler - Clojurescript で使用するクロージャ ライブラリ 2029 jar
clojurescriptで使用する新しい google-closure-library の .jar を見つけることができませんでした。
(ソース コードのダウンロードはこちらから入手できます: http://code.google.com/p/closure-library/downloads/list )
また、クロージャービルダーを使用してコンパイルしようとしましたが(失敗しました)。(推奨されるように deps.js でコンパイルしようとしましたが、それも機能しません)。
誰かが私に 2029 jar を教えてくれたり、ソースからコンパイルする方法を教えてくれたりしたら、それは素晴らしいことです。
ありがとう!
編集: 明確にするために、クロージャ コンパイラを意味するのではなく、ここにあるような .jar を意味します: http://mvnrepository.com/artifact/org.clojure/google-closure-library
macros - Clojurescript のマクロ内でアトムを共有するにはどうすればよいですか?
clj (clojure) 名前空間に次のコードがあります。
(ns project.clojure.clojurescript-macros)
別のcljs(clojurescript)名前空間内に、次のものがあります
clojurescript コードをコンパイルしてブラウザーで開くと、残念ながら次のエラーが表示されます。
コンパイルした clojurescipt コードの 22348 行を見ると、次のように表示されます。
問題は、 project.clojure.trace_history が main.js のどこにも定義されていないことです。何が悪いのかは理解していますが、どのように修正すればよいかわかりません。trace-history を共有 clojure ファイルに入れたり、トレース履歴を cljs ファイル自体に入れたりするなど、他の解決策を試しました。どれも機能していないようです。このマクロのすべてのコンパイル間でグローバル アトムを共有したい場合、Clojurescript でどのようにすればよいでしょうか?
javascript - ClojureScriptから使用できるJavaScriptGUIライブラリ?
私の進行中のWeb開発プロジェクトの1つで、通常のWebページよりもグラフィカルデスクトップアプリケーションのようなインタラクティブな「Web2.0」インターフェイスを備えたページ(実際には独自のミニアプリケーション)を作成する必要があります。
JSで直接プログラミングするのではなく、クライアント側のロジックでJSにコンパイルできる高級言語を使用したいと考えています。ClojureScriptが私の最初の選択肢です。
ClojureScript内から使用でき、Swing、QT、wxWidgetsなどの「デスクトップ」GUIライブラリに似たプログラミングスタイルをサポートするJSGUIライブラリを探しています。<div>
ポップアップ「ウィンドウ」を作成したり、ボタン/ラベルなどのウィジェットを配置したりできるはずです。それらの中で、イベントハンドラーをウィジェットにアタッチします。うまくいくものを知っていますか?
clojure - Clojure/ClojureScript の何が、分散型の「アリ」デモの作成に役立つでしょうか?
ほとんどの Clojure 専門家は、Rich Hickey のアリのデモ ( http://gist.github.com/1093917およびhttp://blip.tv/clojure/clojure-concurrency-819147 ) を見たことがあると思います。同じアプリの分散バージョンを作成しようとする場合、ただし各ブラウザーが 1 つのアリを制御するブラウザーベースの場合、Clojure/ClojureScript から関数のトランザクションの性質を支援するものはありますか (クライアントで実行されたとbehave
仮定) behave
)? それとも、Clojure/ClojureScript の STM 機能は本当に分散使用を意図していないのでしょうか?
つまり、クライアント上で (3,2) にいて (3,3) に移動したい場合、クライアント (ブラウザー) の世界 (リッチの元のバージョンと同じように、少し古くなっている可能性があります)スレッドが少し古くなったこと) その正方形は空ですが、サーバーにリクエストを送信し、サーバーの世界でその正方形がいっぱいであることを教えてくれる ClojureScript の分散型 STM はありますか? いいえ、その正方形はいっぱいでしたその動きを元に戻す必要があるため、次の動きは再び (3,2) から開始する必要があります。リッチの元のプレゼンテーションでは、Clojure の STM 機能に組み込まれてすべて自動化されていました。しかし、分散されている場合、それはより明確にする必要がありますか、それともこれを行うために組み込まれている既存の機能はありますか?
そのようなものが Clojure/ClojureScript に組み込まれていない場合、より適した他のプラットフォームはありますか?
clojure - Clojurescriptのオプションの「コールバック」パラメータは眉をひそめていますか?
Clojurescriptで高階関数を作成する場合、実際には、渡された関数のパラメーターを省略することができます。
たとえば、以下は合法的なClojurescriptコードですが、違法なClojureコードです。
(def x(アトム5))
(スワップ!x(fn [] 6))
高階の「スワップ!」functionは、1つのパラメーターを受け取る関数を想定していますが、それを省略しても、プログラムは正常にコンパイル/実行されます。
Clojurescriptコードがよりクリーンになる場合、この機能を使用することは悪い形式と見なされますか?それとも、Clojurescriptの制限を乱用しているだけですか?何か意見はありますか?
あなたの考えをありがとう!