match_spec_run(List, CompiledMatchSpec) -> list()
類型:
List = [term()]
CompiledMatchSpec = compiled_match_spec()
執行編譯後指定的匹配匹配規格在術語列表上。學期CompiledMatchSpec
是調用的結果
match_spec_compile/1
因此是人們想要使用的匹配規範的內部表示。
對 List
中的每個元素執行匹配,函數返回包含所有結果的列表。如果 List
中的元素不匹配,則不會為該元素返回任何內容。因此,結果列表的長度等於或小於參數List
的長度。
例子:
以下兩個調用給出相同的結果(但執行時間肯定不同):
Table = ets:new...
MatchSpec = ...
% The following call...
ets:match_spec_run(ets:tab2list(Table),
ets:match_spec_compile(MatchSpec)),
% ...gives the same result as the more common (and more efficient)
ets:select(Table, MatchSpec),
注意
該函數在普通代碼中的用途有限。它由以下人員使用dets
模塊來執行dets:select()
操作和交易期間由 Mnesia 執行。
相關用法
- erlang match(Table, Pattern)用法及代碼示例
- erlang match(Subject, Pattern, Options)用法及代碼示例
- 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_spec_run(List, CompiledMatchSpec) -> list()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。