欢迎!请查阅关于页面,获取更多关于如何使用本站的信息。
ClojureScript已经具备{{uuid}}和{{random-uuid}}函数。这些函数在ClojureScript中非常实用,我认为在Clojure中使用这些函数也有利于提高代码的可移植性。对此有兴趣进行补丁修复吗?
评论者:wilkerlucio
(链接: ~alexmiller)我明白使它完全兼容会更好。但说实话,作为一个经常编写CLJC的用户,如果我们只有uuid和random-uuid(尤其是后者)就能满足我99%的UUID需求,我想对大多数人来说也如此。我们不能先添加那些对所有人都是赢家的部分,然后把详细的UUID设计单独作为一个条目吗?
uuid
random-uuid
评论者:alexmiller
进行这个操作的主要原因可能是可移植性。生成java.util.UUID是最合理的选择,这和ClojureScript中正在做的事情一致吗?也就是说,创建和**使用**uuids相同代码是否可以在两个平台上运行?如果不能,那么可能没有很好的理由这么做。
评论者:[email protected]
生成java.util.UUID应该是最合理的选择,但这和ClojureScript中正在做的事情一致吗?
ClojureScript定义了自己的UUID类型,因为JavaScript中没有这个类型。[链接](https://github.com/clojure/clojurescript/blob/dd589037f242b4eaace113ffa28ab7b3791caf47/src/main/cljs/cljs/core.cljs#L10088-L10128)。我不太确定你所说的“一致”是什么意思。
也就是说,创建和使用的uuids相同的代码是否可以在这两个平台上运行?
CLJS的UUID不包含Java UUID的所有方法,但重要的功能都有(等价性、从字符串构造、将字符串打印出来)并且这些功能足以在处理UUID时显著提高可移植性。
评论者:bronsa
clojure 和 clojurescript 都有 uuid 标记的 Literals,这应该已经足够用于互操作了。
我了解这一点,只是想知道是否有任何你可能需要在uuid上调用的函数,需要一些可移植的等效功能,就像http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html中的那样。
我的主要观点可能是:我们与其仅仅考虑uuid/random-uuid函数,不如考虑以下这个问题:我们如何在Clojure/ClojureScript中添加可移植的UUID支持?这是一个更大的工作量,但我认为它更有价值。
因此,我们还需要考虑以下内容(其中一些已经存在,但可能尚未经过可移植性测试):构造打印 - 打印,pr,美式打印读取哈希码位转换字符串转/转字符串组件提取
然后我认为,考虑这些内容应放入核心还是data.uuid等中很值得探讨。
我认为最好在设计页面上处理这个问题,而不是在这里(这个故障单只是更大问题的一个部分)。也许http://dev.clojure.org/pages/viewpage.action?pageId=950382可以提供一些指导。