variables - Erlang 中的匿名变量

标签 variables erlang

从 Erlang 编译器的角度来看,下划线变量和以下划线开头的命名变量之间的确切区别是什么(除了增加代码的可读性)?

例如 __Var不同的?

最佳答案

无关变量 _非常特别 匹配任何东西的变量是从不 绑定(bind)到一个值。当我知道那里有东西但我不在乎值(value)是什么并且我永远不会使用时使用它。看到 _永远不会绑定(bind)它不能在表达式中使用并且编译器将其标记为错误。

_Var 这样的变量是完全正常的变量,您可以匹配它们并将绑定(bind)到值,这意味着它们可以在表达式中使用。使用 _ 为变量添加前缀是关于意图。编译器通常会警告您有关模式中绑定(bind)但从未使用过的变量,这通常是错误的标志。但是编译器不会警告以 _ 为前缀的变量。喜欢 _Var .目的是我想给变量一个名字,命名是好的,但我知道我永远不会使用它。

请记住 _确实是唯一的特殊变量,而 _Var是正常变量,如果使用,则表现相同。如果你觉得反常,那么你可以在所有变量前加上 _一切仍然有效。

关于variables - Erlang 中的匿名变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707361/

相关文章:

javascript - 如果 JavaScript 是一种解释性语言,提升如何工作?

python - Python 中的变量复制究竟是如何工作的?

c - 避免在 C 中读取配置文件的全局变量

erlang - gen_server 中引发的 Redis 异常

javascript - JavaScript中有多人棋盘游戏的框架吗?

mysql - BASH 和 MySQL 中的 Heredocs、变量和单引号

jQuery - 重置变量

linux - 在 linux 上的 erlang shell 中配置键

erlang - Erlang仿真器信息语句是什么意思?

multithreading - 为什么数据库连接池比单个连接更好?