概念:
當使用元組進行程式設計的時候,如果過於龐大的元素數量,將會很難記住。record提出來,是用於提供c語言裡面的一種類似structure的乙個有著固定數目字段的資料結構。
記錄定義:
-record( person,).
構造乙個record:
p1=#person.
例項**:
%%
%% author: erlang.hell
%% date: 2012-11-21
%%-module(t_record).
-export([autotest/0]).
-record(location,).
-record(person, } ).
autotest()->
p1=#person,
p2=#person,
showperson(p1),
showperson(p2),
n_p2=birthday(p2),
showperson(n_p2),
nn_p2=birthdayex(n_p2),
showpersonex(nn_p2),
n_p1=bournebirthday(p1),
showpersonex(n_p1).
showperson(p)->
io:format("name: ~p age: ~p phone: ~p\n", [p#person.name,p#person.age,p#person.phone]).
showpersonex(#person)->
io:format("show_ex name: ~p age: ~p phone: ~p x: ~p y: ~p\n", [name,age,phone,l#location.x,l#location.y]).
birthday(p)->
p#person.
birthdayex(#person=p)->
p#person.
%% just for jason bourne
bournebirthday( #person=p)->
p#person;
bournebirthday( p ) ->
p.
測試:
41> f().
ok42> c(t_record).
43> t_record:autotest().
name: "jason bourne" age: 19 phone: 119
name: "erlang hell" age: 0 phone: 110
name: "erlang hell" age: 1 phone: 110
show_ex name: "erlang hell" age: 2 phone: 110 x: 250 y: 250
show_ex name: "jason bourne" age: 20 phone: 119 x: 250 y: 250
ok
命令列record相關:
載入命令
rr(recordname).
刪除載入命令
rf(recordname).
注意的知識點:
1. 定義record;
2. 如何構造record;
3. 如何訪問到成員;
4. 如何巢狀資料結構;
5. record的模式匹配;
本質上來說,record在記憶體中的表現是乙個元組[tuple],-record是乙個用於將元組,符號化解析出來。如果學過c語言的都知道,我們可以定乙個struct,然後將一塊記憶體強制轉換成為這個struct的指標;乙個意思。
oracle學習總結 record
記錄變數學習 基本語法 type 記錄型變數的名稱 is record 變數名 變數型別,變數名 變數型別。例項 建立乙個過程,用於引數出入員工編號,運用記錄型變數列印員工姓名和薪資 create or replace procedure pro2 v in empno in emp.empno t...
WinCE學習相關知識
知識一 activesync不能連線開發板的知識 1 剛開始正常連線,多次使用後出現不能連線的知識,清除wince登錄檔 2 不能連線的知識 pc是xp。知識二 wm timer優先順序與精度 1 wm timer訊息處理的優先順序比較低,同wm paint,一般來說,只有等訊息佇列沒有其他訊息時,...
機器學習相關知識
之前學習的東西很雜,都是想到哪個演算法,就去學。並沒有很系統的去理解他們的區別,這樣可能就沒辦法理解其真正的含義。再就是一心想著找實習,可是沒有足夠的水平水平很難去做這方面專案,即使找到了,可能也很low 所以其實我要做的是靜下心來,系統的,深入的去學習 理解和實現這些演算法 知識。常用的機器學習演...