gpt4 book ai didi

clojure - 是否可以将方法继承到 clojure 中的不同命名空间?

转载 作者:行者123 更新时间:2023-12-05 01:04:53 24 4
gpt4 key购买 nike

我希望能够通过在其他地方包含一个命名空间来访问多个命名空间中的多个函数。

例如,假设我有 vehicles.clj , car.clj , bike.clj , 和 handler.clj .

我希望能够“继承”或包含来自 car.clj 的所有方法和 bike.cljvehicles.clj所以我只能userequire Vehicles.clj 在我的 handler.clj 命名空间(或任何其他命名空间)中,并调用 car 和自行车.cljs 中的函数。

与 C# 中的父类和子类不同。这可能吗?

我需要这个的原因是因为我已经将许多函数拆分到不同的文件中以保持关注点的分离,但我也希望能够只包含主文件(例如,vehicles.clj 作为 (:use [myproject.vehicles])在任何其他命名空间/文件中并调用所有这些类中的函数。

有一个更好的方法吗?

谢谢。

最佳答案

https://github.com/ztellman/potemkin有这样做的工具,但我强烈建议你不要。这类事情很容易使代码难以遵循,并且很容易将看似改进的组织变成意大利面条式的噩梦。

自行决定使用,但请记住,让自己更轻松并不总是意味着您正在改进代码!

关于clojure - 是否可以将方法继承到 clojure 中的不同命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307250/

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