示例#1
0
文件: map.py 项目: tek/tryp.py
 def flat_map(
         self,
         f: Callable[[A, B], Maybe[Tuple[C, D]]]
 ) -> 'Map[C, D]':
     filtered = List.wrap([f(a, b) for a, b in self.items()])\
         .join
     return Map(filtered)
示例#2
0
文件: lazy_list.py 项目: tek/tryp.py
 def _drain_find(self, abort):
     culprit = Empty()
     def gen():
         nonlocal culprit
         while True:
             try:
                 el = next(self.source)
                 yield el
                 if abort(el):
                     culprit = Just(el)
                     break
             except StopIteration:
                 break
     drained = List.wrap(list(gen()))
     self.strict = self.strict + drained
     return culprit
示例#3
0
文件: map.py 项目: tek/tryp.py
 def map2(self, f: Callable[[A, B], C]) -> List[C]:
     return List.wrap([f(a, b) for a, b in self.items()])
示例#4
0
文件: map.py 项目: tek/tryp.py
 def get_all_map(self, *keys):
     def append(zm, k):
         return zm // (lambda z: self.get_item(k) / z.cat)
     return List.wrap(keys).fold_left(Just(Map()))(append)
示例#5
0
文件: map.py 项目: tek/tryp.py
 def values_at(self, *keys):
     return List.wrap(keys) // self.get
示例#6
0
文件: map.py 项目: tek/tryp.py
 def to_list(self):
     return List.wrap(self.items())