erlang學習之基礎語法

2021-07-04 13:39:34 字數 2666 閱讀 9681

1.變數與資料型別:

<1>每一條表示式都必須以乙個句號後接乙個空白字元結尾。(形如:12*13. )

<2>erlang是一種函式式語言,一旦定義了x=123,那麼x永遠是123,不允許改變。(即erlang中不能重新繫結變數)

<3>變數和原子:

i.erlang的變數以大寫字母開頭,如x、a_long_name等

ii.以小寫字母開頭的名稱不是變數,而是符號變數,稱為原子。(x=123是錯誤的,x應該大寫)

<4>erlang中每個檔案就是乙個模組

<5>erlang的注釋都是以%開頭的

2.資料型別

<1>常量:以小寫字元開頭,如charis、inch等,常量僅僅只是乙個名字,不像變數一樣帶有自身的值。

<2>元組:元組用"{}"來表示,元組可以包含任何合法的erlang內容。

<3>列表:列表用""表示,(注:erlang允許在非敏感的地方換行)可以是用"|"來分離列表中的元素。如"[e1,e2,e3,....,em|er]=[1,2,3,....,n]."代表"e1,e2,e3,....,em"分別對應列表中的前m個元素,"er"代表列表中剩下的元素。如果想獲取超出表中的元素,則會發生錯誤,但是有乙個特殊情況,就是獲取乙個空列表

1> [a,b,c,d|e]=[1,2,3,4,5,6,7,8].

[1,2,3,4,5,6,7,8]

2> a.1

3>

e.[5,6,7,8]

4> [r1,r2,r3|r4]=[1,2].

** exception

error: no

match

ofright

hand

side

value [1,2]

5> [t1,t2|t3]=[1,2].

[1,2]

6>

t3.

3.控制語句

<1>if語句

格式」

if condition 1->

action1;

condition 2->

action2;

condition 3->

action3

end.

」 注意:end前面的最後乙個條件是沒有」;」的。

<2>case語句

格式」

case — of

condition1->

action1;

condition2->

action2;

condition3->

action3

end;

」 注意:end前面的最後乙個條件是沒有」;」的。

4. 程序、模組和編譯

erlang程式是由許多並行的程序構成的。程序負責執行模組裡定義的函式。模組則是擴充套件名為.erl的檔案,執行必須先編譯它們。編譯某個模組之後,就可以執行該模組中的函式了。

5.書寫並執行」hello,world」

用文字編輯器編寫乙個hello.erl檔案,內容如下:

-module

(hello)

.告訴我們模組的名字為hello,模組名必須與儲存這段**的檔名相同。

-export

([start/0])

.告訴我們模組中有乙個start函式可以被外部呼叫,該函式的引數有0個。假如該模組有兩個函式face和mult,引數分別有1個和2個,則寫成:-export([fac/1,mult/2]).

start

()->

io:format("hello,world~n").

<1>在erlang shell裡編譯並執行:

從儲存hello.erl的目錄裡啟動erlang shell,並執行下面操作:

1> 

c(hello).

2>

hello:start().

hello,world

ok3>

halt().

講解:c(hello) 命令是編譯hello.erl檔案,代表編譯成功,hello:start()代表執行模組裡的函式,halt()停止了erlang shell。

<2>在erlang shell外編譯

在作業系統的命令列裡編譯和執行前乙個例子中的**:

charies:desktop weichuang$ erlc hello.erl

charies:desktop weichuang$ erl -noshell -s hello start -s init stop

hello,world

charies:desktop weichuang$

講解:erlc從命令列啟動了erlang編譯器。編譯器編譯了hello.erl裡的**bing生成乙個名為hello.beam的目標**檔案。al -noshell -s 命令載入了hello模組並執行hello:start()函式。

erlang學習筆記之基礎語法

字串是雙引號,單引號的是atom 元組 下標從1開始 x element 1,x 配合模式匹配,可以給元素項命名,直接不用下標標記元素項 列表增刪改查 增加 通過管道符號,把左邊的資料新增到右邊的列表 5,4,3 1,2 兩個列表通過 生成新列表 1,2,3,4 7,8,9,10 刪除 大列表 小列...

Erlang入門之基礎語法一

開啟linux終端,輸入命令erl進入erlang程式設計。1 2 3 4.14注 erlang以 句點 結束命令。x 1234.1234 注 所有變數都必須以大寫字母開頭。erlang的變數是單一賦值變數,即乙個變數只能被賦值一次。如果乙個變數被賦值了,稱作繫結變數,否則,稱作自由變數。是乙個模式...

swift學習之基礎語法

一 swift的基本語法 下面來介紹swift的基本用法 在main.swift中的 import foundation println hello,world println 你好,世界!定義乙個常量,使用關鍵字 let 在swift中,幾乎對所有的基本資料型別或者是物件型別使用結構體進行了重寫 ...