RxPY - Operadores matemáticos
média
Este operador irá calcular a média a partir da fonte observável dada e produzir um observável que terá o valor médio.
Sintaxe
average()
Valor de retorno
Ele retorna um observável que terá o valor médio.
Exemplo
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.average()
)
sub1.subscribe(lambda x: print("Average is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
Average is 5.5
concat
Este operador pegará dois ou mais observáveis e fornecerá um único observável com todos os valores na sequência.
Sintaxe
concat(observable1, observable2...)
Parâmetros
Observáveis: Lista de observáveis a serem concatenados.
Valor de retorno
Um observável é retornado com um único valor mesclado dos valores do observável de origem.
Exemplo
testrx.py
from rx import of, operators as op
test = of(2, 4, 6, 8, 10)
test2 = of(3,6,9,12,15)
sub1 = test.pipe(
op.concat(test2)
)
sub1.subscribe(lambda x: print("Final value is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
Final value is 2
Final value is 4
Final value is 6
Final value is 8
Final value is 10
Final value is 3
Final value is 6
Final value is 9
Final value is 12
Final value is 15
contagem
Este operador pega um observável com valores e o converte em um observável que terá um único valor. A função de contagem assume a função de predicado como um argumento opcional. A função é do tipo Boolean e adicionará valor à saída somente se atender à condição.
Sintaxe
count(predicate_function=None)
Parâmetros
A função de contagem assume a função de predicado como um argumento opcional. A função é do tipo Boolean e adicionará valor à saída somente se atender à condição.
Valor de retorno
Ele retornará um observável com um único valor, ou seja, a contagem da fonte observável.
Exemplo 1
from rx import of, operators as op
test = of(1,2,3, 4,5, 6,7, 8,9, 10)
sub1 = test.pipe(
op.count()
)
sub1.subscribe(lambda x: print("The count is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
The count is 10
Exemplo 2: usando uma função de predicado
from rx import of, operators as op
test = of(1,2,3, 4,5, 6,7, 8,9, 10)
sub1 = test.pipe(
op.count(lambda x : x %2 == 0)
)
sub1.subscribe(lambda x: print("The count of even numbers is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
The count of even numbers is 5
max
Este operador fornecerá um observável com valor máximo da fonte observável.
Sintaxe
max(comparer_function=None)
Parâmetros
comparer_function: parâmetro opcional. Esta função é usada em observáveis de origem para comparar valores.
Valor de retorno
Ele retorna um observável com valor máximo da fonte observável.
Exemplo 1
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.max()
)
sub1.subscribe(lambda x: print("Max value is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
Max value is 280
Example 2: comparer_function
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.max(lambda a, b : a - b)
)
sub1.subscribe(lambda x: print("Max value is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
Max value is 280
min
Este operador fornecerá um valor observável com valor mínimo da fonte observável.
Sintaxe
min(comparer_function=None)
Parâmetros
comparer_function: parâmetro opcional. Esta função é usada em observáveis de origem para comparar valores.
Valor de retorno
Ele retorna um observável com valor mínimo da fonte observável.
Exemplo 1
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.min()
)
sub1.subscribe(lambda x: print("Min value is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
Min value is 12
Exemplo 2: Usando comparer_function
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.min(lambda a, b : a - b)
)
sub1.subscribe(lambda x: print("Min value is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
Min value is 12
reduzir
Este operador assume uma função chamada função acumuladora, que é usada nos valores provenientes do observável de origem, e retorna os valores acumulados na forma de um observável, com um valor semente opcional passado para a função acumuladora.Sintaxe
reduce(accumulator_func, seed=notset)
Parâmetros
accumulator_func: Função que se utiliza sobre os valores provenientes da fonte observável e retorna os valores acumulados na forma de um observável.
seed:opcional. O valor padrão não está definido. É o valor inicial, a ser usado dentro da função de acumulador.
Valor de retorno
Ele retorna um observável, com um único valor como saída da função acumuladora aplicada em cada valor da fonte observável.
Exemplo
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.reduce(lambda acc, x: acc + x)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
The value is 55
soma
Este operador retornará um observável com a soma de todos os valores dos observáveis de origem.
Sintaxe
sum(key_mapper=none)
Parâmetros
key_mapper: opcional. Esta é a função aplicada aos valores provenientes da fonte observável.
Valor de retorno
Ele retorna um observável com a soma de todos os valores da fonte observável.
Exemplo 1
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.sum()
)
sub1.subscribe(lambda x: print("The sum is {0}".format(x)))
Resultado
E:\pyrx>python testrx.py
The sum is 55
Exemplo 2: usando a função key_mapper
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.sum(lambda a: a+1)
)
sub1.subscribe(lambda x: print("The sum is {0}".format(x)))
Usando a função key_mapper, estamos adicionando todos os valores por 1 e obtendo a soma deles.
E:\pyrx>python testrx.py
The sum is 65