問題タブ [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 投票する
1 に答える
988 参照

clojure - spec/coll-of で個別の ID を確認する方法

上記の仕様では、各ユーザー マップを区別する必要がありますが、区別:user/idsのみをチェックするように指定するにはどうすればよいですか

以下のコレクションは許可されるべきではありません:

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

clojure - Clojure 仕様のエラー メッセージ: filename? 行番号?の意味:で?

初歩的な質問で申し訳ありません。うまくいけば、答えが明らかでないという事実は、主に clojure.spec がまだアルファ版 (0.1.134) であるためです。

この仕様エラー メッセージで、問題のあるコードのファイル名と行番号を見つけるにはどうすればよいですか? そして、:in鍵の意味は何ですか、sc。値[2 1]

と入力すると、このエラーが発生しますlein repl。問題のある行の私の推測はここにあります:

Clojure 1.8で実行していたディレクトリからこれをコピーしたときに、エラーメッセージが最初に表示されたためです。このコードは Clojure 1.8 で動作しました。

この便利な手がかりがなければ、問題のあるファイルと行を追跡する方法を知りたいです。この手がかりがあっても、どうすればよいかわかりません。エラーが自分のコードにあるのか、clojure.core/ns コードにあるのか、それとも clojure.core/ns の仕様にあるのかわかりません。また、何In: [2 1]を指しますか?


更新エラーが見つかりました。上記の私の推測は間違っていました。エラーは私のコードにもありませんでした! clojure.core.async にありました。古いバージョン: 0.2.374 を使用していました。現在のバージョン 0.3.443 に変更したところ、エラー メッセージは終了しました。nsどうやら、Clojure 1.9 より前に書かれた多くのコードは、コロンの前や他のキーワードを省略するなど、マクロの緩みを悪用している:requireため、ライブラリが更新され、依存関係が更新されたライブラリを指すように更新されるまで、これは一般的な問題になるでしょう。同様のエラーがpopenにもありました(既に修正済みです。これは迅速なサービスでした!)。

ただし、私の質問は、このエラーの詳細に関するものではありません。それは一般的な問題についてです: このような試行錯誤による長い追跡をせずに問題のあるコード行を見つける方法.