問題タブ [clojure.spec]

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 投票する
3 に答える
1539 参照

clojure - 可変長の順序付けられたベクトルを照合して生成する Clojure 仕様

の通常のシーケンスから始めましょう

ベクトルに一致する

リストも

これを制限したい場合はspec/tuple、 ;を使用してみてください。しかし悲しいことに、これは固定長のベクトルにしかマッチしません。つまり、タプルの最後の部分に少なくとも空のリストが必要です:

::catwithに追加の条件を追加することもできますspec/and

うまく一致する

spec/catしかし残念なことに、 for ジェネレーターはもちろんvector?述語に準拠しないリストのみを生成するため、独自のデータの生成に失敗します。

要約すると、次のようなベクトルを受け入れて生成できる仕様をどのように作成し[hi "there"] [my "dear" :friend]ますか?

spec/cat質問を「リストの代わりにベクトルを生成する代替手段はありますか?」と言い換えることもできます。または「:kind 引数を に渡すことは可能spec/catですか?」または「元のジェネレーターの出力を取得してベクターにキャストするジェネレーターをスペックにアタッチできますか?」.