请分享您的看法,参加2024年Clojure状态调查!

欢迎!请参阅关于页面了解本网站的更多信息。

+2票数
Clojure

`
由wolfe.a.jason报告,2009年2月4日

描述这个特性/更改。

为Clojure添加“keyset”;使APersistentMap的.keySet返回一个
IPersistentSet

这个问题在群里讨论过吗?如果是,请提供讨论链接
的链接

http://groups.google.com/group/clojure/browse_thread/thread/66e708e477ae992f/ff3d8d588068b60e?hl=en#ff3d8d588068b60e


附加了一个补丁。一些备注

我选择添加一个“keyset”函数,而不是更改现有的“keys”,
以免破坏任何东西。

相应的RT.keyset函数仅调用参数的.keySet。
如果传递一个(非Clojure)java.util.Map给“keyset”,
我希望它返回一个IPersistentSet,但这似乎在
无法在多项式时间内完成,因为这实际上是由于
上述线程中提到的相同限制(Map接口不支持getKey()或entryAt())——
再次假设“get”应该返回集合中实际(相同的)
关键字,而不仅仅是.equal关键字。

然后我将APersistentMap的.keySet的
实现修改为几乎复制APersistentSet。另一种更简洁的替代方法
是扩展APersistentSet并重写.get方法,但我有点紧张(
因为如果APersistentSet发生变化,可能会破坏)。

无论如何,这是我为Clojure的Java端提交的第一个补丁,
我还没有完全掌握约定和美学,因此
评论/提问/批评/修订请求都十分欢迎。

`

5 个答案

0票数

评论者:importer

richhickey说:更新问题(#8、#19、#30、#31、#126、#17、#42、#47、#50、#61、#64、#69、#71、#77、#79、#84、#87、#89、#96、#99、#103、#107、#112、#113、#114、#115、#118、#119、#121、#122、#124)

0票数

评论者:importer

oranenj 说:(链接:[file:dKgE6mw3Gr3O2PeJe5afGb])

0票数

评论者:stu

补丁格式不正确

0票数
参考: https://clojure.atlassian.net/browse/CLJ-69(由alex+import报告)
...