我是Erlang的新手,我一直在阅读一些声明原子不是垃圾回收的文档。这一切都很好,但是随后又出现了一个更大的问题:将它们用作模式匹配的“元组标签”是个好主意吗?如果我有一个相对频繁使用Erlang的应用程序,这样的函数:在erlang中元组模式与原子匹配是个好主意吗?
-module(geometry).
-export([area/1]).
area({rectangle, Width, Ht}) -> Width * Ht;
area({square, X}) -> X * X;
area({circle, R}) -> 3.14159 * R * R.
将这种风险撞毁我的虚拟机?如果area
函数运行三百万次,那么会不会使我的Erlang虚拟机崩溃,因为矩形,正方形和圆形是原子?
从https://pragprog.com/articles/erlang复制的示例代码 – Tombert 2014-12-02 04:05:09
不可以。完全正常的做事方式。 – zxq9 2014-12-02 07:13:54