亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Erlang 變量

在 Erlang,所有的變量都與‘ =’語句綁定。所有變量都需要以大寫字母開頭。在其他編程語言中,“ =”符號用于賦值,但不適用于 Erlang。如前所述,變量是通過使用‘ =’語句定義的。

在Erlang中要注意的一件事是變量是不可變的,這意味著為了更改變量的值,需要將其銷毀并重新創(chuàng)建。

上一章介紹了Erlang中的以下基本變量-

  • Numbers?用于表示整數或浮點數。例如:10。

  • Boolean ?這表示布爾值,可以為true或false。

  • Bit String?使用位串存儲未類型的內存區(qū)域。例如:<< 40,50 >>。

  • Tuple?元組是具有固定數量項的復合數據類型。例如:{40,50}。

  • Map?映射是具有可變數量的鍵-值關聯的復合數據類型。映射中的每個鍵值關聯都稱為關聯對。例如:{type => person,age => 25}。

  • List?列表是具有可變項數的復合數據類型。例如:[40,40]。

變量聲明

定義變量的一般語法如下-

語法

var-name = var-value

在哪里,

  • var-name ?這是變量的名稱。

  • var-value ?這是綁定到變量的值。

以下是變量聲明的示例-

實例

-module(helloworld). 
-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(helloworld). 
-export([start/0]). 

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

如果嘗試編譯上述程序,則會出現以下編譯時錯誤。

輸出

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

其次,所有變量只能分配一次。讓我們舉一個不只一次分配一個變量的實例。

實例

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

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

如果您嘗試編譯上述程序,則會收到以下編譯時錯誤。

輸出

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

打印變量

在本節(jié)中,我們將討論如何使用打印變量的各種功能。

使用io:fwrite函數

您應該已經在以上所有程序中看到了此(io:fwrite)。fwrite函數是“ io”模塊或Erlang的一部分,可用于在程序中輸出變量的值。

以下示例顯示了可以與fwrite語句一起使用的更多參數。

實例

-module(helloworld). 
-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?參數為浮點數,寫為[-] ddd.ddd,其中precision是小數點后的位數。缺省精度為6,且不能小于1。

  • ~n?println這是打印到新行。

  • ~e?參數為浮點數,寫為[-] d.ddde + -ddd,其中precision是寫入的位數。缺省精度為6,且不能小于2。