gpt4 book ai didi

clojure - 如何使用 clojure.algo.generic 库?

转载 作者:行者123 更新时间:2023-12-04 15:01:39 26 4
gpt4 key购买 nike

我知道图书馆https://github.com/clojure/algo.generic提供实现通用算术运算符的方法 + * / -但在那里我找不到如何创建它们以及如何将其用作库的简单示例。

说如果我想实现向量加法等:

> (+ [1 2 3 4 5] 5) 
;; => [6 7 8 9 10]

我该怎么办:
  • 定义 +带有 algo.generic 的运算符
  • 使用 +先前在另一个项目中定义的运算符?
  • 最佳答案

    (ns your.custom.operators
    (:import
    clojure.lang.IPersistentVector)
    (:require
    [clojure.algo.generic.arithmetic :as generic]))

    (defmethod generic/+
    [IPersistentVector Long]
    [v x]
    (mapv + v (repeat x)))

    (ns your.consumer.project
    (:refer-clojure :exclude (+))
    (:use
    [clojure.algo.generic.arithmetic :only (+)])
    (:require
    your.custom.operators))

    (defn add-five
    [v]
    (+ v 5))

    关于clojure - 如何使用 clojure.algo.generic 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593485/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com