2024年Clojure调查!(英文)中分享您的想法。

欢迎!请参阅关于页面了解如何使用本站。

0
spec

我在尝试spec-alpha2时遇到了一些(较小)障碍。这些问题都与GitHub页面上的文档有关。引用的命名空间是针对spec的旧版本,而jar文件不在Leiningen的默认仓库之一。

我建议按照以下方式更新

将“要加载的命名空间:”部分修改为引用clojure.spec-alpha2而不是clojure.alpha.spec

在包含Maven坐标的部分提到jar文件位于Sonatype快照仓库(https://oss.sonatype.org/content/repositories/snapshots/

1 个答案

0

命名空间是正确的(旧版本是clojure.spec.alpha,现在的spec-alpha2版本是clojure.alpha.spec,预计最终将是clojure.spec)。

我们不认为这个库已经准备好使用了(它还不完整,存在多个已知错误)。在发布部分提到了Sonatype快照仓库(开发快照版本链接)。我们目前不进行快照发行。可能从测试构建作业中有一些内容,但它并不反映当前的状态或我可以推荐的任何内容。也许我现在暂时移除这一切。

正如readme中提到的,如果您想在开发过程中尝试它,请将其作为git依赖项来获取当前状态。

by
我认为移除对 Maven 构建引用是一个好主意,以免其他人误入歧途,如果可能的话,甚至可以从仓库中提取。

经过一番调查,我终于让这个东西工作了(我想这是来自 spec-alpha2 的早期版本)

(defproject scratch "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.10.1"]
            [org.clojure/spec-alpha2 "0.2.177-SNAPSHOT"]
                 [org.clojure/test.check "0.9.0"]]
  :repositories [["sonatype" {:url "https://oss.sonatype.org/content/repositories/snapshots/"}]])

(ns scratch.core
  (:require [clojure.spec-alpha2 :as sa2]
            [clojure.spec-alpha2.gen :as gen]))

(sa2/def ::x (s/and-
            (s/cat :i1 int? :i2 int?)
            #(apply distinct? %)))

等等等等
by
仅供参考,无论那个快照是什么,它都很旧,并不能反映当前仓库的状态。
...