Clojure:不可思议的未来

cri*_*per 1 clojure

在Clojure中,如果我创建了一个未来,然后失去对其名称的访问权限,例如:

(def lost-future
  (future
    (while true
      (do
        (pr "Still here...")
        (Thread/sleep 10000)))))

(def lost-future nil)
Run Code Online (Sandbox Code Playgroud)

现在有办法找到未来吗?我尝试使用(ns-map),但当然只返回lost-future的新值.

我知道这是一个容易避免的问题,但我很好奇我能问的是什么.

谢谢!

tom*_*tom 5

不,没有一般的方法可以做到这一点.并不像你在问题中指出的那样需要.

此外,您几乎不应该def使用现有名称.