Erlang - 变量声明

Erlang - 变量声明 首页 / Erlang入门教程 / Erlang - 变量声明

在Erlang中,所有变量都必须以大写字母开头,要注意的一件事是变量是不可变的,这意味着要更改变量的值,需要将其销毁并重新创建。

变量声明

定义变量的一般语法如下-

var-name=var-value
  • var-name - 这是变量的名称。

  • var-value - 这是绑定到变量的值。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   X=40, 
   Y=50, 
   Result=X + Y, 
   io:fwrite("~w",[Result]).

在上面的示例中,我们有2个变量,一个是绑定到值40的X,另一个是绑定到值50的Y,另一个名为Result的变量绑定到X和Y的加法。

上面程序的输出将是-

无涯教程网

90

命名变量

如上所述,变量名必须以大写开头,让我们以小写声明的变量为示例

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   X=40, 
   Y=50, 
   result=X + Y, 
   io:fwrite("~w",[Result]).

如果尝试编译上述程序,则会出现以下编译时错误。

helloLearnfk.erl:8: variable 'Result' is unbound

其次,所有变量只能分配一次。让我们举个示例,多次分配一个变量。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   X=40, 
   Y=50, 
   X=60, 
   io:fwrite("~w",[X]).

如果您尝试编译上述程序,则会收到以下编译时错误。

helloLearnfk.erl:6: Warning: variable 'Y' is unused
helloLearnfk.erl:7: Warning: no clause will ever match
helloLearnfk.erl:7: Warning: the guard for this clause evaluates to 'false'

输出变量

在本节中,我们将讨论如何使用打印变量的各种功能。

io:fwrite函数

您应该已经在以上所有程序中看到了此(io:fwrite), fwrite 函数是io模块或Erlang的一部分,可用于在程序中输出变量的值。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   X=40.00, 
   Y=50.00, 
   io:fwrite("~f~n",[X]), 
   io:fwrite("~e",[Y]).

上面程序的输出将是-

无涯教程网

40.000000
5.00000e+1

关于上述程序,应注意以下几点。

  • ~    表示需要对输出进行格式化。

  • ~f  参数是一个浮点数,缺省精度为6,且不能小于1。

  • ~n  换行。

  • ~e  参数是一个浮点数,缺省精度为6,且不能小于2。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Linux性能优化实战 -〔倪朋飞〕

零基础学Java -〔臧萌〕

架构实战案例解析 -〔王庆友〕

Service Mesh实战 -〔马若飞〕

微信小程序全栈开发实战 -〔李艺〕

Spark核心原理与实战 -〔王磊〕

恋爱必修课 -〔李一帆〕

编程高手必学的内存知识 -〔海纳〕

网络排查案例课 -〔杨胜辉〕

好记忆不如烂笔头。留下您的足迹吧 :)