% 元組轉換成列表
1> tuple_to_list().
[12,cat,"hellp"]
% 返回當前時分秒
2> time().
1> <<5,10,20>>.
<<5,10,20>>
2> <<"hello">>.
<<"hello">>
3> <<99,97,116>>.
<<"cat">>
1> bin1 = <<1,2,3>>.
<<1,2,3>>
2> bin2 = <<4,5>>.
<<4,5>>
3> bin3 = <<6>>.
<<6>>
4> list_to_binary([bin1,1,[2,3,bin2],4|bin3]).
<<1,2,3,1,2,3,4,5,4,6>>
5> split_binary(<<1,2,3,4,5,6,7,8,9,10>>,3).
6> b = term_to_binary().
<<131,104,3,100,0,8,98,105,110,97,114,105,101,115,107,0,3,
97,114,101,100,0,6,117,115,101,102,117,108>>
7> binary_to_term(b).
8> size(<<1,2,3,4,5>>).
5
將 x, y, z 封裝在乙個 16 bit 字長的記憶體區域 , x 佔 3bit , y 佔 7bit , z 佔 6bit
1> x = 2.
22> y = 61.
613> z = 20.
204> m = <>.
<<"ot">>
5> <> = m.
<<"ot">>
6> x1.
27> y1.
618> z1.
20
"hello"
屬性 :
-module(modname). % 模組宣告
-import(lists, [map/2]). % 從別的模組匯入函式
-export([a/2, b/1]). % 匯出函式
-compile(options). % 新增編譯選項
-vsn(version). % 指定模組版本
塊表示式 :
begin
expr1,
...,
expr2
end
布林型別 :
1> true.
true
2> false.
false
布林表示式 :
not b1.
b1 and b2.
b1 or b2.
b1 xor b2.
短路布林表示式 :
expr1 orelse expr2.
% 先求表示式 expr1 , 如果 expr1 為 true , 則不會求 expr2 的值 (即被短路了) ; 如果 expr1 為 false , 則會對 expr2 求值
expr1 andalso expr2.
% 先對 expr1 求值 , 如果為 true , 那麼 必須對 expr2 求值 ; 如果 expr1 為 false , 則不對 expr2 求值
包含檔案 :
-include(filename).
-include(libname).
列表操作符++
和--
1> [1,2,3] ++ [4,5,6].
[1,2,3,4,5,6]
2> [1,2,3] -- [1].
[2,3]
3> [1,1,2,3] -- [1].
[1,2,3]
4> [1,1,2,3] -- [1,1].
[2,3]
巨集 :
%% m1.erl
-module(m1).
-export([start/0]).
-ifdef(debug).
-define(trace(x), io:format("trace ~p:~p ~p~n",[?module, ?line, x])).
-else.
-define(trace(x), void).
-endif.
start() -> loop(5).
loop(0) ->
void;
loop(n) ->
?trace(n),
loop(n-1).
%% cmd
1> c(m1,).
2> m1:start().
trace m1:15 5
trace m1:15 4
trace m1:15 3
trace m1:15 2
trace m1:15 1
void
數值型別 :
整型 :
% 2 進製數
1> 2#00101010.
42% 16 進製數
2> 16#af6bfa23.
2943089187
3> 13.
134> -18.
-18
浮點型 :
1> 1.0.
1.02> 3.1415926.
3.1415926
3> -2.3e+6.
-2.3e6
4> 23.56e-27.
2.356e-26
程序字典 :
1> erase().
2> put(x,20).
undefined
3> get(x).
204> get(y).
undefined
5> put(y,40).
undefined
6> get(y).
407> get().
[,]8> erase(x).
209> get().
作者 github : tojohnonly , 部落格 : enskdecode
erlang 順序程式設計 記錄與對映組03
記錄其實就是元組的另一種形式。儲存與效能特性和元組一樣。應用場景 建立 讀取 更新 建立 record todo,讀取shell裡,shell編譯 rr records.hrl 建立乙個副本 todo 建立乙個副本並修改元素 x1 todo.以x1為副本建立,並修改其中元素 x2 x1 todo.模...
Erlang高階函式 遞迴
說明 erlang 高階函式 匿名函式 有一大堆資料,不再贅述,這裡主要說以下高階函式遞迴式。高階函式遞迴用法 高階函式實現尾遞迴有兩種方式 1 將高階函式自身作為引數傳入,並在內部呼叫 2 通過fun進行類似普通函式的定義 1 作為引數傳入 參考資料 erlang匿名函式的遞迴 寫普通函式的時候函...
Erlang程式設計01
erlang程式設計簡介 erlang程式設計 由人民郵電出版社出版發行 圖靈程式設計叢書 作者 joe armstrong 喬 阿姆斯壯 譯者 趙東煒 金尹 錄入 cenzige 詳細資訊 書名原文 programming erlang software for a isbn 978 7 115 ...