欢迎!请在关于页面上了解更多关于这个功能的信息。
ClojureScript 具有 {{uuid}} 和 {{random-uuid}} 函数。将这些函数添加到 ClojureScript 中将非常方便,我认为这同样有利于 Clojure,以提高代码的可移植性。您是否有兴趣为这个特性做出补丁?
评论者:wilkerlucio
(链接:~alexmiller) 我理解让它们完全兼容是个好主意。但坦白说,作为一个写了很多 CLJC 的用户,如果我们只有 uuid 和 random-uuid(特别是后者),就能解决我 99% 的 UUID 需求,我认为对大多数人来说也是一样的。我们能不能首先添加那些对所有人都有益的函数,并把详细设计的 UUID 作为一个单独的 ticket 处理?
uuid
random-uuid
评论由:alexmiller 撰写
我这样做的主要原因是可移植性。最合理的是生成`java.util.UUID`,这和ClojureScript中正在做的事情是协调的吗?也就是说,创建和使用UUID的代码能在两个平台上同时工作吗?如果不能,那么这样做的理由可能就不是很好的。
评论由:[email protected] 撰写
最合理的是生成`java.util.UUID`,这和ClojureScript中正在做的事情是协调的吗?
ClojureScript定义了自己的UUID类型,因为JavaScript中没有。请查看GitHub源代码。我不太明白您所说的“协调”是什么意思。
也就是说,创建和使用UUID的代码能在两个平台上同时工作吗?
CLJS的UUID不支持Java UUID的所有方法,但重要的功能都有(等价性、从字符串构建、转换成字符串),这足以显著提高使用UUID时的可移植性。
评论由:bronsa 撰写
clojure和clojurescript都有对UUID的标记字面量,这应该已经足够用于交互。
我意识到了这一点,只是想知道是否有需要在UUID上调用的函数,需要提供可移植的等效功能,就像这里所示的内容。
我认为我的主要观点是:与其仅仅考虑uuid/random-uuid这些函数,不如把问题看作:我们如何在Clojure/ClojureScript中添加可移植的UUID支持?这是一项更多的工作,但在我看来更有价值。
因此,也需要考虑以下这些(其中一些已经存在,但可能还没有经过便携性测试)- 构建- 打印 - 打印、pr、pretty print- 读取- 哈希码- 转换为/从位- 转换为/从字符串- 提取组件
然后我认为考虑多少应该放在核心中,多少应该在data.uuid或类似的库中是有意义的。
我认为最好在工作页面上进行这项工作(这个条目只是更大问题的一个单元)。也许http://dev.clojure.org/pages/viewpage.action?pageId=950382可以提供一些指导。