欢迎!请访问关于页面以获取更多关于如何使用本网站的信息。
ClojureScript有{{uuid}}和{{random-uuid}}函数。它们在ClojureScript中很有用,我认为这对Clojure来说也会很有用,以提高代码的可移植性。是否有兴趣为此打补丁?
评论者:wilkerlucio
(链接:~alexmiller) 我明白使其完全兼容很好。但说实话,作为一个大量编写CLJC的用户,如果我们只是有uuid和random-uuid(特别是后者),就可以解决我99%的UUID需求,我认为对大多数人来说也是同样的情况。我们是否可以首先添加对所有人来说都是确定性胜利的东西,并将详细的 uuid 设计留在单独的条目中?
uuid
random-uuid
评论人:alexmiller
我认为做这件事的主要原因可能是便携性。最好生成 java.util.UUIDs - 这是否与 ClojureScript 中的做法相一致?也就是说,用于创建和 `使用` uuids 的相同代码能在两个平台上工作吗?如果不是,那么可能没有做好这件事的理由。
评论人:[email protected]
最好生成 java.util.UUIDs - 这是否与 ClojureScript 中的做法相一致?
ClojureScript 定义了自己的 UUID 类型,因为 JavaScript 中不存在。 https://github.com/clojure/clojurescript/blob/dd589037f242b4eaace113ffa28ab7b3791caf47/src/main/cljs/cljs/core.cljs#L10088-L10128. 我不是很清楚你所说的“相一致”是指什么。
也就是说,用于创建和使用的uuids的相同代码能在两个平台上运行吗?
CLJS UUID 不支持 Java UUID 的所有方法,但重要的事情都在那里(等价性、从字符串构建、将字符串打印出来),这将足够显著提高处理 UUIDs 的便携性。
评论人:bronsa
clojure 和 clojurescript 都有uuid标记字面量,这应该对于互操作性足够好了。
我清楚这一点,只是想知道是否有一些在 uuid 上可能会调用的函数需要一些可移植的等效函数,如 http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html 中的内容。
我的主要观点可能是:与其只考虑uuid/random-uuid函数,不如考虑问题是:我们如何将可移植的uuid支持添加到Clojure/ClojureScript中?这是一项更大的工作,但在我看来更有价值。
因此,也应该考虑(其中一些已经存在,但可能未经过可移植性测试)- 构建- 打印 - 打印,pr,美化打印- 读取- 哈希码- 转换为/从位- 转换为/从字符串- 提取组件
然后我想考虑这部分应在核心还是data.uuid或某些东西中。
我认为最好在设计页面而不是这里工作(这张票只是更大问题的一个单元)。也许http://dev.clojure.org/pages/viewpage.action?pageId=950382可以提供一些线索。