Module stream.booleans

Expand source code
from stream import Stream
import random


class BooleanStream(Stream):

    @staticmethod
    def random():
        '''
        Returns an infinite stream of random booleans

        :return: a random boolean stream
        '''
        return BooleanStream(Stream.generate(lambda: random.randint(0, 1) == 1))

    @staticmethod
    def true():
        '''
        Returns an infinite stream of True

        :return: a True boolean stream
        '''
        return BooleanStream(Stream.generate(lambda: True))

    @staticmethod
    def false():
        '''
        Returns an infinite stream of False

        :return: a False boolean stream
        '''
        return BooleanStream(Stream.generate(lambda: False))

    def __init__(self, _stream):
        if isinstance(_stream, Stream):
            self.iterable = _stream.iterable
        else:
            self.iterable = _stream

Classes

class BooleanStream (_stream)

A sequence of elements supporting sequential operations.

The following example illustrates an aggregate operation using

Stream

result = Stream(elements) .filter(lambda w: w.getColor() == RED) .map(lambda w: w.getWeight()) .sum()

A stream pipeline, like the elements example above, can be viewed as a query on the stream source.

A stream should be operated on (invoking an intermediate or terminal stream operation) only once. This rules out, for example, "forked" streams, where the same source feeds two or more pipelines, or multiple traversals of the same stream. A stream implementation may raise Exception if it detects that the stream is being reused.

Expand source code
class BooleanStream(Stream):

    @staticmethod
    def random():
        '''
        Returns an infinite stream of random booleans

        :return: a random boolean stream
        '''
        return BooleanStream(Stream.generate(lambda: random.randint(0, 1) == 1))

    @staticmethod
    def true():
        '''
        Returns an infinite stream of True

        :return: a True boolean stream
        '''
        return BooleanStream(Stream.generate(lambda: True))

    @staticmethod
    def false():
        '''
        Returns an infinite stream of False

        :return: a False boolean stream
        '''
        return BooleanStream(Stream.generate(lambda: False))

    def __init__(self, _stream):
        if isinstance(_stream, Stream):
            self.iterable = _stream.iterable
        else:
            self.iterable = _stream

Ancestors

Static methods

def false()

Returns an infinite stream of False

:return: a False boolean stream

Expand source code
@staticmethod
def false():
    '''
    Returns an infinite stream of False

    :return: a False boolean stream
    '''
    return BooleanStream(Stream.generate(lambda: False))
def random()

Returns an infinite stream of random booleans

:return: a random boolean stream

Expand source code
@staticmethod
def random():
    '''
    Returns an infinite stream of random booleans

    :return: a random boolean stream
    '''
    return BooleanStream(Stream.generate(lambda: random.randint(0, 1) == 1))
def true()

Returns an infinite stream of True

:return: a True boolean stream

Expand source code
@staticmethod
def true():
    '''
    Returns an infinite stream of True

    :return: a True boolean stream
    '''
    return BooleanStream(Stream.generate(lambda: True))

Inherited members