問題タブ [defn]

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.

0 投票する
1 に答える
170 参照

macros - setを含む関数定義のマクロ!Clojurescript で動作しない

次のことを行うマクロを定義しようとしています。

  • 「変数」を初期値にバインドする
  • 変数名に基づいた名前で setter メソッドを作成する

clojure ファイルで次のように定義しています。

次のように clojurescript から呼び出すと (cmacros は名前空間のエイリアスです):

「生産」と「生産-その他」の定義は正しく、機能「生産-11」は機能します(そして生産の値を11に設定します)が、最後のものは機能しません。さまざまなブラウザーでさまざまなエラーが発生します。Chrome で「Uncaught SyntaxError: Unexpected token .」と表示されます。Firefox "SyntaxError: 形式パラメーターの後に ) がありません"。

Firefox によって指摘された問題のある JavaScript コードは次のようになります。

私はjsの専門家ではありませんが、括弧はすべて正しいようです。何がうまくいかないのですか?-11 定義は機能するのに -set が機能しないのはなぜですか?

0 投票する
1 に答える
436 参照

clojure - defn マクロで、関数名の前のキャレットで始まる引数は何を意味しますか?

関数定義では:

^boolean関数定義の部分はどういう意味ですか? メタデータを拡張してリターンの種類を示すだけですか、それとももっと深い意味がありますか? 言い換えれば、単純にコードをより自己記述的にする以上の付加価値があるのでしょうか?

0 投票する
3 に答える
153 参照

clojure - 位置破壊関数

私はclojureが初めてで、できるだけ理解しようとしていますが、ドキュメントは非常に曖昧です

機能があるとき

私の理解では、関数はベクトルマップを受け取りますが、2番目のパラメーターで指定されたキーへのアクセスのみが{:keys.....必要です。正しいですか?

では、この関数にいくつのパラメーターを渡せばよいでしょうか? 1つか2つ?

ベクトルですか?{:kind 1 :dog 2} またはベクトル キー値 (:kind {....})?