Elixir的Module.register_attribute是否可变?

时间:2014-02-26 01:07:53

标签: functional-programming immutability elixir mutability

这是用模块创建可变状态的方法吗?如何使用这个好主意?难道这不会破坏函数式编程的不变性理念吗?

1 个答案:

答案 0 :(得分:2)

不,因为它在编译时使用。这是C中的#define。

您可以看到示例https://gist.github.com/mprymek/8379066,其中属性“sensors”用于累积使用宏“sensor”定义的函数。当您累积了所有这些功能后,您可以自动生成运行所有这些功能的“run_all”功能。当然,所有这一切都必须在编译时完成。