예제 #1
0
 def lift(self, index: int) -> 'maybe.Maybe[A]':
     return ((maybe.Just(self[index])
              if len(self) > index else maybe.Empty()) if index >= 0 else
             (maybe.Just(self[index])
              if len(self) >= -index else maybe.Empty()))
예제 #2
0
파일: boolean.py 프로젝트: yuhangwang/amino
 def maybe_call(self, f, *a, **kw):
     return maybe.Just(f(*a, **kw)) if self else maybe.Empty()
예제 #3
0
 def tail(self) -> 'maybe.Maybe[List[A]]':
     return maybe.Empty() if self.empty else maybe.Just(self[1:])
예제 #4
0
 def init(self) -> 'maybe.Maybe[List[A]]':
     return maybe.Empty() if self.empty else maybe.Just(self[:-1])
예제 #5
0
 def index_where(self, fa: List[A], f: Callable[[A], bool]):
     gen = (maybe.Just(i) for i, a in enumerate(fa) if f(a))
     return next(gen, maybe.Nothing)
예제 #6
0
 def tail(self) -> maybe.Maybe['List[A]']:
     return maybe.Empty() if self.empty else maybe.Just(self[1:])
예제 #7
0
 def init(self) -> maybe.Maybe['List[A]']:
     return maybe.Empty() if self.empty else maybe.Just(self[:-1])