我试图弄清楚是否有一个类似于 clojure 中的 delay 的宏来获得一个可以稍后评估的惰性表达式/变量。

用例是 Map.get/3 的默认值,因为默认值来自数据库调用,我希望它仅在需要时才被调用。

最佳答案

Elixir 的宏可用于编写用于条件评估的简单包装函数。我在下面列出了一个要点,尽管它可能是更好/更聪明的方式。

https://gist.github.com/parroty/98a68f2e8a735434bd60

10-08 12:45