2024 Clojure 状态调查!中分享您的想法。

欢迎!请参阅关于页面以获取有关此页面工作方式的更多信息。

0
规格

我试图使用选择练习一个联合了两个其他规格的规格

(ns example
(:require [clojure.alpha.spec :as s]))
(s/def ::val1 int?)
(s/def ::foo (s/schema [::val1]))

(s/def ::val2 int?)
(s/def ::bar (s/schema [::val2]))
(s/def ::foobar (s/union ::foo ::bar))

(s/exercise (s/select ::foobar [::val1]))

但这引发了一个错误。

找不到协议:方法的实现: :keyspecs* of protocol
在类中查找到第'clojure.alpha.spec.protocols/Schema'个的
clojure.alpha.spec.impl$union_impl$reify__7091

选择应该适用于这个吗?还是我做错了什么?

我正在使用

org.clojure/alpha.spec {:git/url "https://github.com/clojure/spec-alpha2.git"
                             :sha "495e5ac3238be002b4de72d1c48479f6bec06bb3"}

1 答案

+1
作者
选中 作者
 
最佳答案

这只是个错误,现在已经修复了。

作者
感谢快速回复和修复。现在对我有效果了 :)
...