match(Table, Pattern) -> [Match]
類型:
Table = table()
Pattern = match_pattern()
Match = [term()]
將表 Table
中的對象與模式 Pattern
進行匹配。
模式是一個術語,可以包含:
- 綁定部分(Erlang 術語)
'_'
匹配任何 Erlang 術語- 模式變量
'$N'
,其中N
=0,1,...
該函數返回一個列表,其中每個匹配對象都有一個元素,其中每個元素都是模式變量綁定的有序列表,例如:
6> ets:match(T, '$1'). % Matches every object in table
[[{rufsen,dog,7}],[{brunte,horse,5}],[{ludde,dog,5}]]
7> ets:match(T, {'_',dog,'$1'}).
[[7],[5]]
8> ets:match(T, {'_',cow,'$1'}).
[]
如果在模式中指定了鍵,則匹配非常高效。如果不指定key,即是變量或者下劃線,則必須全表查找。如果表很大,搜索時間可能會很長。
對於 ordered_set
類型的表,結果的順序與 first
/next
遍曆中的順序相同。
相關用法
- erlang match(Subject, Pattern, Options)用法及代碼示例
- erlang match_spec_run(List, CompiledMatchSpec)用法及代碼示例
- erlang matches(Subject, Pattern, Options)用法及代碼示例
- erlang max用法及代碼示例
- erlang make_dir用法及代碼示例
- erlang make_tuple(Arity, InitialValue)用法及代碼示例
- erlang make_tuple(Arity, DefaultValue, InitList)用法及代碼示例
- erlang map_get(Key, Map)用法及代碼示例
- erlang map_size(Map)用法及代碼示例
- erlang max(Term1, Term2)用法及代碼示例
- erlang map(Fun, Orddict1)用法及代碼示例
- erlang map(Fun, MapOrIter)用法及代碼示例
- erlang mapfoldl(Fun, Acc0, List1)用法及代碼示例
- erlang make_tar(Name)用法及代碼示例
- erlang member用法及代碼示例
- erlang min用法及代碼示例
- erlang merge用法及代碼示例
- erlang memory用法及代碼示例
- erlang memory()用法及代碼示例
- erlang min(Term1, Term2)用法及代碼示例
- erlang monitor(Type :: process, Item :: monitor_process_identifier())用法及代碼示例
- erlang monitor(Type :: process, Item :: monitor_process_identifier(), Opts :: [monitor_option()])用法及代碼示例
- erlang merge(Fun, Orddict1, Orddict2)用法及代碼示例
- erlang module(AbsForms)用法及代碼示例
- erlang monitor(Socket)用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 match(Table, Pattern) -> [Match]。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。