Пример #1
0
 public static ReaderWriter <TReader, TWriter, TResult1> SelectMany <TReader, TWriter, TResult, TResult1>(this ReaderWriter <TReader, TWriter, TResult> self, Func <TResult, ReaderWriter <TReader, TWriter, TResult1> > selector) =>
 (p, r) =>
 {
     var t = self(p, r);
     t.Output.Iter(p);
     return(selector(t.Result)(p, r));
 };
Пример #2
0
 public static ReaderWriter <TReader, TWriter, TResult2> SelectMany <TReader, TWriter, TResult, TResult1, TResult2>(this ReaderWriter <TReader, TWriter, TResult> self, Func <TResult, ReaderWriter <TReader, TWriter, TResult1> > selector, Func <TResult, TResult1, TResult2> mapper) =>
 (p, r) => {
     var t = self(p, r);
     t.Output.Iter(p);
     var t1 = selector(t.Result)(p, r);
     t1.Output.Iter(p);
     return(mapper(t.Result, t1.Result).WithLogs(Enumerable.Empty <TWriter>()));
 };
Пример #3
0
 public static ReaderWriter <TReader, TWriter, TResult1> Select <TReader, TWriter, TResult, TResult1>(this ReaderWriter <TReader, TWriter, TResult> self, Func <TResult, TResult1> selector) =>
 (p, r) =>
 {
     var t = self(p, r);
     t.Output.Iter(p);
     return(selector(t.Result).WithLogs(Enumerable.Empty <TWriter>()));
 };