主頁(yè) > 知識(shí)庫(kù) > Erlang語(yǔ)法學(xué)習(xí)筆記:變量、原子、元組、列表、字符串

Erlang語(yǔ)法學(xué)習(xí)筆記:變量、原子、元組、列表、字符串

熱門標(biāo)簽:地圖標(biāo)注如何弄全套標(biāo) 外呼系統(tǒng)會(huì)封嗎 萬(wàn)利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 電銷機(jī)器人 深圳 股票配資電銷機(jī)器人 南京電銷外呼系統(tǒng)哪家好 實(shí)體店地圖標(biāo)注怎么標(biāo) 武漢AI電銷機(jī)器人 在電子版地圖標(biāo)注要收費(fèi)嗎

一:變量

1. erlang中的變量【單一賦值】,意味著變量只能賦值一次。
2.變量必須【大寫字母】開頭。

二:原子

   原子相當(dāng)于c++中的枚舉類型,但erlang中的原子的值是其本身。

   原子是一串以【小寫字母】開頭的,但如果用單引號(hào)引起來(lái),原子的命名就無(wú)所謂了,很多花樣就出來(lái)了。如果首字符是正軌的小寫字母,則原子的值是引號(hào)內(nèi)的內(nèi)容,否則輸出的值包含單引號(hào)。

三:元組(tuple)

有很多項(xiàng)組成一個(gè)單一的實(shí)體,類似于c++中的結(jié)構(gòu)體之類的,在erlang中要用元組表示;

將若干個(gè)以【逗號(hào)】分隔的值用【花括號(hào)】括起來(lái)就是一個(gè)元組。

{rex,1.71} 這個(gè)元組包含一個(gè)原子和一個(gè)浮點(diǎn)值。元組與c++中的結(jié)構(gòu)比起來(lái)是匿名的,但erlang中不能以點(diǎn)號(hào)來(lái)操作,創(chuàng)建一個(gè)元組就是直接給一個(gè)變量綁定一個(gè)元組,因?yàn)樵M中的元素沒(méi)有名字,所以只能我們記住這些元素的用處。通常情況下我們用一個(gè)原子作為元組的第一個(gè)元素來(lái)表明這個(gè)元組所代表的含義。

{point,10,45}來(lái)代替{10,45},這是一種編程風(fēng)格。

元組可以嵌套。譬如:

復(fù)制代碼 代碼如下:

Person={person,

                          {name,rex},

                          {height,1.72},

                          {footsize,43},

                           {eyecolor,brown}}.

表示一組人的信息,注意是使用原子作為標(biāo)簽。

元組聲明即自動(dòng)創(chuàng)建,不再使用就隨之銷毀,有垃圾回收。

新元組引用了一個(gè)已綁定的變量,那就會(huì)享有這個(gè)變量引用的數(shù)據(jù)結(jié)構(gòu)。應(yīng)用沒(méi)定義的變量會(huì)出錯(cuò)!

例子:

復(fù)制代碼 代碼如下:

 F = {firstname,rex}.

L = {lastname,yuan}.

P = {person,F,L}.

p的值就是{person,{firstname,rex},{lastname,yuan}}

=不是賦值,是模式匹配,是erlang的基礎(chǔ)。

如果想從元組中提取內(nèi)容:

聲明一個(gè)相同類型的元組,要取的值用變量來(lái)代替,變量哦!?。∪缓笥?模式匹配去取出來(lái)對(duì)應(yīng)變量的值

例如:

復(fù)制代碼 代碼如下:

Point = {point,10,43}.

{point,X,Y} = Point.


X和Y的值分別就為10,43.

位于等號(hào)兩邊的元組必須含有相同數(shù)量的元素,注意模式匹配。如果有復(fù)雜的元組想提取內(nèi)容,可以使用相同結(jié)構(gòu)的模式來(lái)提取,需要提取的字段位置必須要用未綁定的變量,切記??!不感興趣的可以用占位符“_"來(lái)替代,其為匿名變量。在同一個(gè)模式中的不同地方,占位符綁定的值不必相同。

四:列表

1:將若干個(gè)以【逗號(hào)】分隔的值用一個(gè)【方括號(hào)】括起來(lái)就是一個(gè)列表了,注意和元組的區(qū)別。

元組是以花括號(hào),列表是以方括號(hào)。

列表中的元素可以有各自不同的類型。例如:[1+2,hello,2-2,{cost,apple,30-20},3]

列表的首元素稱為列表的頭,剩余的全部為列表的尾(tail),列表的頭可以是任何東西,但尾一般還是一個(gè)列表。訪問(wèn)列表頭的操作非常高效。很多列表處理函數(shù)都是對(duì)頭開始進(jìn)行處理。

[]是個(gè)空列表,[H|T]是以H為頭,以T為尾的列表。“|”可以將列表頭與尾分隔。最好保證T為正軌列表。添加列表內(nèi)容一般用前插操作,可以一下插很多個(gè)元素。

2:提取列表元素

以模式匹配為基礎(chǔ)來(lái)提取。

五:字符串

erlang中沒(méi)有字符串,字符串其實(shí)是一個(gè)整數(shù)列表。

用雙引號(hào)括起來(lái)就是一個(gè)字符串。

復(fù)制代碼 代碼如下:

Name=“Rex”

必須使用雙引號(hào)。shell打印一串列表值的時(shí)候,只有列表中的所有整數(shù)都是可打印字符時(shí),才把這個(gè)列表當(dāng)作字符串。有一個(gè)不是就不行。

可以用“$"符號(hào)來(lái)表示字符的整數(shù)值,其實(shí)就是ASCII碼,$s就是115,

注意字符集,確認(rèn)顯示終端和區(qū)域設(shè)定問(wèn)題,在這個(gè)問(wèn)題上 erlang沒(méi)有任何辦法解決亂碼問(wèn)題。

標(biāo)簽:濟(jì)源 安徽 臺(tái)州 汕頭 廣東 武威 泰安 濟(jì)寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Erlang語(yǔ)法學(xué)習(xí)筆記:變量、原子、元組、列表、字符串》,本文關(guān)鍵詞  Erlang,語(yǔ)法,學(xué)習(xí),筆記,變量,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Erlang語(yǔ)法學(xué)習(xí)筆記:變量、原子、元組、列表、字符串》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Erlang語(yǔ)法學(xué)習(xí)筆記:變量、原子、元組、列表、字符串的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章