問題タブ [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.

0 投票する
4 に答える
109 参照

clojure - 文字列の場合はゼロ、数値の場合はゼロを返すように関数 count を変更する

文字列、数値、配列、Java コレクション、およびマップを入力できる関数を作成しています。制約は、文字列と数値の両方の出力がゼロであることです。

Clojure 関数 count は、制約を処理することを除いて、私が必要とするすべてを行います。そこで、if文を使って入力が文字列か数値かをテストしようと考えました。テストが真の場合は 0 を返し、それ以外の場合は count を使用します。どちらの場合でも実行可能なコードがありますが、2 つを組み合わせる方法がわかりません。さらに、この場合、テストをセットアップする最も効率的な方法がわかりません。

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

clojure - 可能なすべての n タプルを並べ替えるタプル関数を作成する

コレクションとパラメータnを取るタプル関数に向けて取り組んでいます。パラメータは、生成されたベクトルが持つべきインデックスの数を指定します。この関数は、コレクション内の要素のすべての可能な n タプルを並べ替えます。

これまでのところ、tuples.core と math.combinatoris の関数、つまりタプルと順列を組み合わせようとしました。

例)

入力: (0,1) n=3

出力: [[0,0,0] [0,0,1] [0,1,0] [1,0,0] [0,1,1] [1,1,0] [1,0, 1] [1,1,1]]

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

clojure - Clojure には Mathematica の sow/reap に似た機能がありますか?

Clojure には Matheica 関数の sow/reap をエミュレートする関数はありますか? sow と reap の主な使用法には、評価の過程で生成された式の収集が含まれます。

例)

Mathematica での入力: Reap[Sow[w = 2];w+=Sow[w^3];w=Sqrt[w + w^3]]

出力: {Sqrt[1010], {{2, 8}}}

中間結果 2 と 8 を与える。

0 投票する
4 に答える
168 参照

clojure - インデックスによるベクトルの結合

長さ n の 2 つのベクトルを入力する関数を作成しようとしています。

すなわち [:a :b :c :d :e :f] [1 2 3 4 5 6]。長さ 2n のベクトルを 1 つ出力する

[:a 1 :b 2 :c 3 :d 4 :e 5 :f 6]。

ただし、入力される 2 番目のベクトルが n の長さと一致しない場合は循環します。

すなわち [:a :b :c :d :e :f] [1 2 3]

出力: [:a 1 :b 2 :c 3 :d 1 :e 2 :f 3]。

さらに、この関数は [xy min max n] を取ることもできます。ここで、x と y はベクトル、min はインターリービングを開始するインデックス、max はインターリービングを終了するインデックス、n はインターリービングのステップ サイズです。

0 投票する
2 に答える
169 参照

clojure - 最初の差分、2 番目の差分、...、n 番目の差分に対する Clojure 関数

ベクトルの入力 要素間の連続した差を与える関数を書きたいと思います。理想的には、関数はベクトル x と n 番目の差分を指定するパラメーター n を入力する必要があります。

[xn] 形式のサンプル

入力 1: [16 10 8 6 4 2] 1 (最初の差分に 1)

出力 1: [-6 -2 -2 -2 -2]

入力 2: [16 10 8 6 4 2] 2

出力 2: [4 0 0 0 nil nil]

サンプル 2 で何が起こっているかを象徴的に示します (Clojure コードではなく、アイデアの説明を目的としています)。

[abcdef] 2

[a-2b+c、b-2c+d、c-2d+e、d-2e+f]

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

clojure - clojure でテーブルを構築する

ベクター複製の Clojure でテーブルを作成したい場合は、次のように記述します。

しかし、テーブル関数のこの概念を拡張して、次のようなものを構築するにはどうすればよいでしょうか。

入力 1: [a^2 2 6 2] ここで、a^2 は何らかの入力関数、2 は最小値、6 は最大値、2 はステップ サイズです。

出力 1: [4,16,36]

入力 2: [b^2 10 -5 -2]

出力 2: [100 64 36 16 4 0 4 16]

これは 4x3 行列を出力します

入力 3: [(+ (* 10 i) j) [1 4] [1 3]]

ここで (+ (* 10 i) j) は 10i+j (特定の入力関数) で、[1 4] は i の最小値と最大値、[1 3] は j の最小値と最大値です。

出力 3: [[11 12 13] [21 22 23] [31 32 33] [41 42 43]]