在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。
参考链接
https://www.learnfk.com/erlang/erlang-variables.html
标签:教程,变量,fwrite,无涯,start,Result,io,Erlang,helloLearnfk From: https://blog.51cto.com/u_14033984/8658136