anchor.diff:  
   lelem("_") -> '_';
   lelem(E)   -> l2b(E).
  +
  +binary_to_elems(B) ->
  +  string:tokens(binary_to_list(B),"/").
   
   l2b(L) ->
     list_to_binary(L).
  
positive.code: 
  ets({keys,Tab})       -> ets:foldr(fun({K,_},A)->[K|A]end,[],tab(Tab));
  ets({insert,Tab,K,V}) -> inserter(tab(Tab),{ikey(K),V});
  ets({insert,Tab,KVs}) -> ets:insert(tab(Tab),unpack(KVs));
  ets({counter,Tab,Key})-> update_counter(tab(Tab),ikey(Key));
  ets({reset,Tab,Key})  -> ets:insert(tab(Tab),{ikey(Key),0}),"0";
  ets({get,Tab,Key})    -> getter(tab(Tab),lkey(Key));
  ets({delete,Tab,Key}) -> ets:delete(tab(Tab),ikey(Key)).
  
  inserter(Tab,{K,V}) ->
    case ets:insert_new(Tab,{K,V}) of
  
negative.code:                rets_client:put(localhost,tibbe)),
    ?assertEqual({200,"true"},
                 rets_client:post(localhost,tibbe,
                                  [{'aaa/1/x',"AAA"},
                                   {bbb,bBbB},
                                   {ccc,123.1},
                                   {ddd,[{a,"A"},{b,b},{c,123.3}]}])),
    ?assertEqual({200,"AAA"},
                 rets_client:get(localhost,tibbe,'aaa/_/x')),
    ?assertEqual({200,"AAA"},
                 rets_client:get(localhost,tibbe,'_/1/_')),
    ?assertEqual({200,bBbB},
                 rets_client:get(localhost,tibbe,bbb)),
    ?assertEqual({200,123.1},
  