2010-04-27 71 views
1

我有以下ETS結構:使用ETS選擇形成交集

SomeTable = ets:new(sometable, [bag]). 
ets:insert(SomeTable, [ 
         {set1,item1}, 
         {set1,item2}, 
         {set1,item3}, 
         {set2,item1}, 
         {set2,item2}, 
         {set2,item4}]). 

我想SET1和SET2使用ETS的交集:選擇和fun2ms,結果將是[ITEM1,ITEM2。

我花了數小時試圖用ets完成它:select和fun2ms沒有成功。 你可以幫助我使用ets:select和fun2ms嗎?

感謝您的所有答案!

ps:我知道套模塊,但我必須使用ets和這個確切的數據結構。

回答

0
qlc:e(qlc:q([ I || {set1, I} <- ets:table(sometable), ets:match_object(sometable, {set2, I}) =/= []])).