首页 > 解决方案 > 构建用户数据和通过应用函数关联它们的函数

问题描述

我正在练习一个教程 Clojure 设计模式 - 观察者

在 Observer 的主题中,没有用户和应用函数构造的方法。当我试图解决它们时,我遇到了错误。

问题是 apply 函数将对象转换为 seq。另一个问题是,当对象有多个字段时,apply 函数将对象作为多个参数获取。有任何想法吗?

我的代码不起作用是这个

(ns observer.core)

(defrecord person [name balance])
(def user (person. "alan" 434))
(apply
 (fn [& u]
   (println u)
   (println (str (:name u) " and  " (:balance u))))
   user)
(println "The end")

输出

([:name alan] [:balance 434])
 and  
The end
observer.core>

更新

我的问题是关于我们应该为用户数据使用什么样的程序结构来实现链接文章中显示的解决方案。我在 Stackoverflow 上提出了关于这篇文章的另一个问题,但我在那里只问了一张地图。在这个问题中,我实际上提到了可以建议的几种数据结构或类型。我不确定地图。

标签: clojureparameter-passingapply

解决方案


推荐阅读