問題タブ [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.
clojure - 可変長の順序付けられたベクトルを照合して生成する Clojure 仕様
の通常のシーケンスから始めましょう
ベクトルに一致する
リストも
これを制限したい場合はspec/tuple
、 ;を使用してみてください。しかし悲しいことに、これは固定長のベクトルにしかマッチしません。つまり、タプルの最後の部分に少なくとも空のリストが必要です:
::cat
withに追加の条件を追加することもできますspec/and
。
うまく一致する
spec/cat
しかし残念なことに、 for ジェネレーターはもちろんvector?
述語に準拠しないリストのみを生成するため、独自のデータの生成に失敗します。
要約すると、次のようなベクトルを受け入れて生成できる仕様をどのように作成し[hi "there"]
[my "dear" :friend]
ますか?
spec/cat
質問を「リストの代わりにベクトルを生成する代替手段はありますか?」と言い換えることもできます。または「:kind 引数を に渡すことは可能spec/cat
ですか?」または「元のジェネレーターの出力を取得してベクターにキャストするジェネレーターをスペックにアタッチできますか?」.