0
鑑於這些聲明我有在SML無法理解流牽引件:合併兩個流,從一個那麼其他
exception Bad of string;
fun from seed next = Cons(seed,fn() => from (next seed) next);
fun head (Nil) = raise Bad("got nil in head")
| head (Cons(a,b)) = a;
fun tail (Nil) = raise Bad("got nil in tail")
| tail(Cons(a,b)) = b();
fun take 0 stream = nil
| take n (Nil) = raise Bad("got nil in take")
|take n (Cons(h,t)) = h::(take (n-1) (t()));
我可以創建土黃流[1.0,2.0,3.0 ...]像所以:val nat = from 1.0 (fn x => x+1.0);
和1的數據流:val one = from 1.0 (fn x => x);
但我怎麼去創造這兩個流的流?特別是一個合併兩個流並輸出流的函數。
類似於:fun merge a b
其中a和b是流。也就是說,如果我們合併這兩個後做take 5
它會給[1.0,1.0,2.0,1.0,3.0]
非常整潔,生病玩耍它謝謝你 – user3831011