2 つの OrderedIObservable<double>
があり、それらを 1 つの Ordered にマージしたいと考えていIObservable<double>
ます。以下に例を示します。
A 2 3 4 - - 5 -
B - - - 1 5 - 6
Out - - - 1 2 3 4 5 -
アイデアはOut
、最終的な順序が確実な場合にのみ値を生成するというものです。これは簡単にできると思いますが、良い解決策を思いつくことはできません (この文脈では、できる限り多くの rx 演算子で構成されていることを意味します)。
編集:次のプログラムで次の出力を生成したい
static void Main(string[] args)
{
var a = new Subject<int>();
var b = new Subject<int>();
a.MergeSort(b).Subscribe(Console.WriteLine);
a.OnNext(2);
Console.WriteLine("tick");
a.OnNext(4);
Console.WriteLine("tick");
a.OnNext(6);
Console.WriteLine("tick");
b.OnNext(0);
Console.WriteLine("tick");
b.OnNext(1);
Console.WriteLine("tick");
b.OnNext(5);
Console.WriteLine("tick");
b.OnNext(7);
Console.WriteLine("tick");
}
Output:
tick
tick
tick
0
tick
1
tick
2
4
5
tick
6
tick