コード例 #1
0
ファイル: opt.py プロジェクト: volsungdenichor/pyseq
 def map(self, func):
     func = to_unary(func)
     if self:
         res = func(self._value)
         ensure(not isinstance(res, Opt),
                lambda: 'map: result Opt not expected',
                stack_level=2)
         return Opt(res)
     else:
         return Opt.none()
コード例 #2
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def sort_desc(self, key=identity):
     key = to_unary(key)
     return sorted(self._iterable, key=key, reverse=True)
コード例 #3
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
def _adjust_selectors(key_selector, value_selector):
    if key_selector is None and value_selector is None:
        return operator.itemgetter(0), operator.itemgetter(1)
    else:
        return to_unary(key_selector) or identity, to_unary(
            value_selector) or identity
コード例 #4
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def sort(self, key=identity):
     key = to_unary(key)
     return sorted(self._iterable, key=key)
コード例 #5
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def replace_if(self, pred, new_value):
     pred = to_unary(pred)
     return self.map(lambda item: new_value if pred(item) else item)
コード例 #6
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def drop_until(self, pred):
     pred = to_unary(pred)
     return self.drop_while(negate(pred))
コード例 #7
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def take_until(self, pred):
     pred = to_unary(pred)
     return self.take_while(negate(pred))
コード例 #8
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def drop_while(self, pred):
     pred = to_unary(pred)
     return itertools.dropwhile(pred, self._iterable)
コード例 #9
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def take_while(self, pred):
     pred = to_unary(pred)
     return itertools.takewhile(pred, self._iterable)
コード例 #10
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def drop_if(self, pred):
     pred = to_unary(pred)
     return self.filter(negate(pred))
コード例 #11
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def filter(self, pred):
     pred = to_unary(pred)
     return filter(pred, self._iterable)
コード例 #12
0
ファイル: seq.py プロジェクト: volsungdenichor/pyseq
 def map(self, func):
     func = to_unary(func)
     return map(func, self._iterable)
コード例 #13
0
ファイル: opt.py プロジェクト: volsungdenichor/pyseq
 def flat_map(self, func):
     func = to_unary(func)
     if self:
         return Opt(func(self._value))
     else:
         return Opt.none()
コード例 #14
0
ファイル: opt.py プロジェクト: volsungdenichor/pyseq
 def filter(self, pred):
     pred = to_unary(pred)
     if self.matches(pred):
         return self
     else:
         return Opt.none()
コード例 #15
0
ファイル: opt.py プロジェクト: volsungdenichor/pyseq
 def matches(self, pred):
     pred = to_unary(pred)
     return self and pred(self._value)