Namdak Tonpa 7 лет назад
Родитель
Сommit
79d36246bc
2 измененных файлов с 34 добавлено и 21 удалено
  1. 30 17
      man/kvs_stream.htm
  2. 4 4
      src/kvs_stream.erl

+ 30 - 17
man/kvs_stream.htm

@@ -74,23 +74,28 @@
 <h3>EXAMPLE</h3>
 
 <figure><code>
--module(test).
--include_lib("kvs/include/kvs.hrl").
--include_lib("kvs/include/user.hrl").
--compile(export_all).
-
-check() ->
-    Cur = new(),
-    [A,B,C,D] = [ kvs:next_id(person,1)
-             || _ <- lists:seq(1,4) ],
-    R = save(add(top,#person{id=A},
-             add(bot,#person{id=B},
-             add(top,#person{id=C},
-             add(bot,#person{id=D}, Cur ))))),
-    X = take(-1,down(top(R))),
-    Y = take(-1,up(bot(R))),
-    X = lists:reverse(Y),
-    L = length(X).
+ -module(test).
+ -include_lib("kvs/include/kvs.hrl").
+ -include_lib("kvs/include/user.hrl").
+ -compile(export_all).
+
+ check() ->
+     Cur = kvs_stream:new(),
+     [A,B,C,D] = [ kvs:next_id(person,1)
+              || _ <- lists:seq(1,4) ],
+     R = kvs_stream:save(
+         kvs_stream:add(#person{id=A},
+         kvs_stream:add(#person{id=B},
+         kvs_stream:add(#person{id=C},
+         kvs_stream:add(#person{id=D}, Cur ))))),
+     X = kvs_stream:take(-1,
+         kvs_stream:down(
+         kvs_stream:top(R))),
+     Y = kvs_stream:take(-1,
+         kvs_stream:up(
+         kvs_stream:bot(R))),
+     X = lists:reverse(Y),
+     L = length(X).
 
  > test:check().
  4
@@ -280,6 +285,14 @@ check() ->
 
 </code></figure>
 
+<h4>down(#cur{}) -> #cur{}.</h4>
+
+<p>Changes the cursor direction.</p>
+
+<h4>up(#cur{}) -> #cur{}.</h4>
+
+<p>Changes the cursor direction.</p>
+
     </section>
     <section>
 

+ 4 - 4
src/kvs_stream.erl

@@ -2,11 +2,13 @@
 -include("kvs.hrl").
 -include("user.hrl").
 -compile(export_all).
--export([ new/0, top/1, bot/1, take/2, load/1, save/1, seek/2, next/1, prev/1, add/2, remove/2 ]).
+-export([ new/0, top/1, bot/1, take/2, load/1, save/1, seek/2, next/1, prev/1, add/2, remove/2, down/1, up/1 ]).
 
 % PUBLIC
 
-new() -> #cur{id=kvs:next_id(cur,1)}.
+new()                 -> #cur{id=kvs:next_id(cur,1)}.
+down(C)               -> C#cur{dir=0}.
+up(C)                 -> C#cur{dir=1}.
 top({ok,#cur{}=C})    -> top(C);
 top({error,X})        -> {error,X};
 top(#cur{top=[]}=C)   -> C#cur{val=[]};
@@ -56,8 +58,6 @@ dir(0)  -> top;
 dir(1)  -> bot.
 acc(0)  -> next;
 acc(1)  -> prev.
-down(C) -> C#cur{dir=0}.
-up(C)   -> C#cur{dir=1}.
 
 fix(M,[])   -> [];
 fix(M,X)    -> fix(kvs:get(M,X)).