我有我在ETS表中存储一些数据的模块 现在我试图过滤迭代ETS表的数据,但总是变空[List]。 ( - 匹配( '$ end_of_table',ACC) - 这是一个匹配每次>加;)如何过滤没有ets的ETS表:select
-module(t).
-export([matching/0]).
matching() -> matching(ets:first(auth), []).
matching('$end_of_table', Acc) -> Acc;
matching(Key, Acc) ->
FromSec = calendar:datetime_to_gregorian_seconds({{2017,1,12}, {11,00,00}}),
ToSec = calendar:datetime_to_gregorian_seconds({{2017,1,12}, {12,00,00}}),
case ets:lookup(auth, Key) of
[{Login, Pass, TTL, Unix, Unix2}] when Unix2 >= FromSec, Unix2 =< ToSec -> NewAcc = [{Login, Pass, TTL, Unix, Unix2}|Acc],
N = ets:next(auth, Key),
matching(N, NewAcc);
_ -> N = ets:next(auth, Key),
matching(N, Acc)
end.
可能是我已经创建ETS表不正确?
Yeap。刚刚整理出来。并发布答案。谢谢您的回答 – Qbeck