問題タブ [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 - spec/coll-of で個別の ID を確認する方法
上記の仕様では、各ユーザー マップを区別する必要がありますが、区別:user/ids
のみをチェックするように指定するにはどうすればよいですか
以下のコレクションは許可されるべきではありません:
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にもありました(既に修正済みです。これは迅速なサービスでした!)。
ただし、私の質問は、このエラーの詳細に関するものではありません。それは一般的な問題についてです: このような試行錯誤による長い追跡をせずに問題のあるコード行を見つける方法.