欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Erlang語法學習筆記:變量、原子、元組、列表、字符串

 更新時間:2015年01月07日 09:13:40   投稿:junjie  
這篇文章主要介紹了Erlang語法學習筆記:變量、原子、元組、列表、字符串,本文簡明總結(jié)了這5種類型的相關(guān)知識,需要的朋友可以參考下

一:變量

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

二:原子

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

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

三:元組(tuple)

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

將若干個以【逗號】分隔的值用【花括號】括起來就是一個元組。

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

{point,10,45}來代替{10,45},這是一種編程風格。

元組可以嵌套。譬如:

復制代碼 代碼如下:

Person={person,

                          {name,rex},

                          {height,1.72},

                          {footsize,43},

                           {eyecolor,brown}}.

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

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

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

例子:

復制代碼 代碼如下:

 F = {firstname,rex}.

L = {lastname,yuan}.

P = {person,F,L}.

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

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

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

聲明一個相同類型的元組,要取的值用變量來代替,變量哦?。?!然后用=模式匹配去取出來對應變量的值

例如:

復制代碼 代碼如下:

Point = {point,10,43}.

{point,X,Y} = Point.


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

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

四:列表

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

元組是以花括號,列表是以方括號。

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

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

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

2:提取列表元素

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

五:字符串

erlang中沒有字符串,字符串其實是一個整數(shù)列表。

用雙引號括起來就是一個字符串。

復制代碼 代碼如下:

Name=“Rex”

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

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

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

相關(guān)文章

  • Erlang中遍歷取出某個位置的最大值代碼

    Erlang中遍歷取出某個位置的最大值代碼

    這篇文章主要介紹了Erlang中遍歷取出某個位置的最大值代碼,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • Erlang中的注冊進程使用實例

    Erlang中的注冊進程使用實例

    這篇文章主要介紹了Erlang中的注冊進程使用實例,本文給出正常進程通信實例和使用使用注冊進程通信實例,需要的朋友可以參考下
    2015-02-02
  • Erlang IO編程之文件目錄操作常用方法小結(jié)

    Erlang IO編程之文件目錄操作常用方法小結(jié)

    這篇文章主要介紹了Erlang IO編程之文件目錄操作常用方法小結(jié),本文講解了常用的文件操作如打開文件、讀取文件、寫入文件、刪除文件等,需要的朋友可以參考下
    2015-01-01
  • Erlang中的Record詳解

    Erlang中的Record詳解

    這篇文章主要介紹了Erlang中的Record詳解,本文講解了定義Record、創(chuàng)建Record、訪問Record、更新Record、匹配Record和Guard語句、使用Record等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Erlang中的基本元素操作小結(jié)

    Erlang中的基本元素操作小結(jié)

    這篇文章主要介紹了Erlang中的基本元素操作小結(jié),本文講解了元組(tuple)、記錄(record)、列表(list)、映射組(map)等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Erlang程序設計(第2版)讀書筆記:Erlang安裝和基礎(chǔ)語法

    Erlang程序設計(第2版)讀書筆記:Erlang安裝和基礎(chǔ)語法

    這篇文章主要介紹了Erlang程序設計(第2版)讀書筆記:Erlang安裝和基礎(chǔ)語法,需要的朋友可以參考下
    2015-02-02
  • erlang?on_load_function_failed排查過程解析

    erlang?on_load_function_failed排查過程解析

    這篇文章主要為大家介紹了erlang?on_load_function_failed的排查過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Erlang中3種生成隨機數(shù)的方法

    Erlang中3種生成隨機數(shù)的方法

    這篇文章主要介紹了Erlang中3種生成隨機數(shù)的方法,它們分別是random:uniform()、erlang:now()、crypto:strong_rand_bytes(N),需要的朋友可以參考下
    2015-01-01
  • Erlang中的并發(fā)程序簡介

    Erlang中的并發(fā)程序簡介

    這篇文章主要介紹了Erlang中的并發(fā)程序簡介,本文講解了Erlang中基本的并發(fā)函數(shù)、并發(fā)程序模板、程序在出錯時立即崩潰的優(yōu)點、為了在互聯(lián)網(wǎng)上執(zhí)行并發(fā)程序等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Erlang實現(xiàn)的一個Web服務器代碼實例

    Erlang實現(xiàn)的一個Web服務器代碼實例

    這篇文章主要介紹了Erlang實現(xiàn)的一個Web服務器代碼實例,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04

最新評論