0

私はetsを作成しています。

ets:new(myets,[duplicate_bag,public,named_table]). 

次の形式でデータを入力しています。

{120869,message,item1,item2,status1,success}
{120869,message,item1,item2,status1,fail}
{120869,action,message,{oldsetting,40},{newsetting,50}}
{93195,model_status}

これらをそれぞれ別の行としてテキスト ファイルに保存したいと思います。私は次の方法でこれを試みています:

Data = ets:tab2list(myets)

これは与える:

[{120869,message,item1,item2,status1,success},
{120869,message,item1,item2,status1,fail},
{120869,action,message,
 {oldsetting,40},
 {newsetting,50}},
{93195,model_status}]

次にio:format、ファイルに保存するために使用します。

しかし、3 番目のタプル (ネストされたタプルの先頭と)myetsに改行を入れずにテキスト ファイルに保存する簡単な方法はあるのでしょうか?oldsettingnewsetting

4

2 に答える 2

1

さて、単純な印刷関数でうまくいくはずです。

print_list(List, File) ->
   lists:foreach(fun(X) -> io:write(File, X), io:nl(File) end, List).

ただし、etsテーブルを保存したいだけの場合は、使用できますto_dets/2(そしてで開きますfrom_dets/2)。

于 2012-12-19T11:28:13.697 に答える