【问题标题】:Clojurescript - map from list of subvecsClojurescript - 来自 subvecs 列表的映射
【发布时间】:2017-07-19 20:37:04
【问题描述】:

我正在尝试从 2 元素 Subvecs 的列表中创建地图。

这在 Clojure 中运行良好:

(into {} (list (subvec [1 2 3] 1)))
>> {2 3}

但在 ClojureScript 中失败,出现以下错误:

No protocol method IMapEntry.-key defined for type number: 2

(subvec [1 2 3] 1) 替换为[2 3] 使其适用于两种语言。

我是 ClojureScript 的新手,无法找到记录此行为的位置。这是一个错误吗?您建议如何有效地绕过它?

谢谢!

【问题讨论】:

    标签: clojure clojurescript


    【解决方案1】:

    我认为这是一个遗漏。子向量应该与普通向量无法区分,因此Subvec 应该添加一个 IMapEntry 实现,例如the one in PersistentVector

    【讨论】:

    • 谢谢!我使用extend-type 添加了一个实现,它解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多