當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang match(Table, Pattern)用法及代碼示例


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.org大神的英文原創作品 match(Table, Pattern) -> [Match]。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。