【发布时间】:2015-04-02 14:07:46
【问题描述】:
我有一个 incanter 数据集,每次其他进程更改源 csv 文件时,我都想重新加载该数据集。换句话说,mydata_ incanter 数据集在我每次查看时都应该是最新的。如何在惯用的 clojure 中实现这一点?
(use 'incanter.io)
(def mydata_ (read-csv "./changingfile.csv"))
在某个时候,另一个进程更改了正在更改的文件.csv,如何确保 mydata_ 自动更新?这与仅仅在 clojure 中的现有数据结构中添加 watch 函数有点不同。
谢谢。
【问题讨论】:
-
我相信惯用的 Clojure 会让您使用
refs/atoms或core.async在两个进程之间传递 值。如果其中任何一个都不是一个选项,您应该考虑提供的答案之一here。