【发布时间】:2020-02-10 08:20:22
【问题描述】:
我是 clojure 的新手,我无法理解一些概念,特别是纯函数和不变性。
我仍然无法理解的一件事是您如何在 clojure 中解决这样的问题:
具有登录方法的简单控制台应用程序,用户在 1 分钟间隔内尝试登录次数不能超过 3 次。
例如,在 C# 中,每次用户尝试登录时,我都可以将 UserId 和时间戳添加到集合中,然后我会检查最后一分钟的尝试次数是否超过 3 次。
考虑到我无法更改我的收藏,我将如何在 Clojure 中执行此操作?
这不是一个实际问题(尽管欢迎提供一些代码示例),我想了解您如何处理这样的问题。
【问题讨论】:
-
我认为 Carcigenicate 对您的具体问题有很好的回答。为了更全面地了解 Clojure 程序设计,我建议在 youtube 上查看“Clojure 中的自下而上与自上而下的设计 - Mark Bastian”。
-
谢谢,我一定会看看的。我检查了几个资源,但没有一个能回答我的问题。
-
为了能够给出更相关的答案,我想我需要一个更具体的例子来说明数据是如何被使用的。如果您正在处理异步代码,您可能需要使用
atom,正如我在底部显示的那样。
标签: clojure functional-programming