0
 -record(rule, {id, low, high}).


 test_ets() ->
    ets:new(rule_table,[named_table,public,bag]),
    ets:insert(rule_table, #rule{id=1, low=2, high=5}),
    ets:match_object(rule_table, [{'$1',[{'>=', {element, #rule.low, '$1'}, 2}, 
            {'=<', {element, #rule.high, '$1'}, 5} 
            ], ['$_']}]).

この関数は、low = <X = <highでこのレコードを選択したいときにのみ、空のリストを取得します。

私を助けてください。ありがとうございました

4

1 に答える 1

0

私は間違っています。代わりにets:selectを使用してください。

しかし、matchSpecを使用したパフォーマンスはどうですか?それはすべてテーブルスキャンですか?

于 2012-09-17T07:47:36.483 に答える