Erlang 杂项短主题详解
1. 引言
在 Erlang 编程中,除了主要的主题外,还有许多零碎但重要的知识点。这些知识点虽然单独来看可能并不起眼,但在实际编程中却有着不可或缺的作用。本文将详细介绍这些杂项短主题,包括函数调用、模块属性、表达式、布尔运算等方面的内容。
2. 动态函数调用(apply)
2.1 基本用法
在 Erlang 中, apply
函数用于动态调用模块中的函数。其语法为 apply(Mod, Func, [Arg1, Arg2, ..., ArgN])
,它等价于 Mod:Func(Arg1, Arg2, ..., ArgN)
。例如:
1> apply(erlang, atom_to_list, [hello]).
"hello"
2.2 使用注意事项
虽然 apply
提供了动态调用函数的灵活性,但应尽量避免使用。当函数的参数数量已知时,直接使用 M:F(Arg1, Arg2, ... ArgN)
的形式更好。因为使用 apply
构建函数调用时,许多分析工具无法准确分析代码,编译器也无法进行某些优化。
3. 模块属性(Attributes)
3.1 预定义模块属性
- -module(modname)