RxPY - Operadores de filtragem

debounce

Este operador fornecerá os valores da fonte observável, até o intervalo de tempo fornecido e ignorará o restante dos valores se o tempo passar.

Sintaxe

debounce(duetime)

Parâmetros

duetime: este terá o valor em segundos ou instâncias de tempo, a duração que decidirá os valores a serem retornados da fonte observável.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6,7,8,9,10)
sub1 = test.pipe(
   op.debounce(2.0)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The value is 10

distinto

Este operador fornecerá todos os valores que são distintos da fonte observável.

Sintaxe

distinct()

Valor de retorno

Ele retornará um observável, onde terá valores distintos do observável de origem.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.distinct()
)
sub1.subscribe(lambda x: print("The distinct value is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The distinct value is 1
The distinct value is 6
The distinct value is 15
The distinct value is 10
The distinct value is 40
The distinct value is 58
The distinct value is 20

element_at

Este operador fornecerá um elemento da fonte observável para o índice fornecido.

Sintaxe

element_at(index)

Parâmetros

índice: o número a partir de zero para o qual você precisa do elemento da fonte observável.

Valor de retorno

Ele retornará um observável com o valor da fonte observável com o índice fornecido.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.element_at(5)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The value is 6

filtro

Este operador filtrará os valores da fonte observável com base na função de predicado fornecida.

Sintaxe

filter(predicate_func)

Parâmetros

predicate_func: Esta função decidirá os valores a serem filtrados da fonte observável.

Valor de retorno

Ele retornará um observável que terá os valores filtrados da fonte observáveis ​​com base na função de predicado.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.filter(lambda x : x %2==0)
)
sub1.subscribe(lambda x: print("The filtered value is {0}".format(x)))

No exemplo, filtramos todos os números pares.

Resultado

E:\pyrx>python testrx.py
The filtered value is 6
The filtered value is 10
The filtered value is 6
The filtered value is 40
The filtered value is 10
The filtered value is 58
The filtered value is 20
The filtered value is 40

primeiro

Este operador fornecerá o primeiro elemento da fonte observável.

Sintaxe

first(predicate_func=None)

Parâmetros

predicate_func: (opcional) Esta função decidirá o primeiro elemento a ser escolhido com base na condição se passado.

Valor de retorno

Ele retornará um observável com o primeiro valor da fonte observável.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.first()
)
sub1.subscribe(lambda x: print("The first element is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The first element is 1

Exemplo 2: usando predicate_func

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.first(lambda x : x%2==0)
)
sub1.subscribe(lambda x: print("The first element is {0}".format(x)))

Resultado

E:\pyrx>python test1.py
The first element is 6

ignore_elements

Este operador irá ignorar todos os valores da fonte Observable e apenas executará chamadas para completar ou funções de callback de erro.

Sintaxe

ignore_elements()

Valor de retorno

Ele retorna um observável que chamará completo ou erro com base na fonte observável.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.ignore_elements()
)
sub1.subscribe(lambda x: print("The first element is {0}".format(x)),
lambda e: print("Error : {0}".format(e)),
lambda: print("Job Done!"))

Resultado

E:\pyrx>python testrx.py
Job Done!

último

Este operador fornecerá o último elemento da fonte observável.

Sintaxe

last(predicate_func=None)

Parâmetros

predicate_func: (opcional) Esta função decidirá o último elemento a ser escolhido com base na condição se passado.

Valor de retorno

Ele retornará um observável com o último valor da fonte observável.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 6, 15, 1, 10, 6, 40, 10, 58, 20, 40)
sub1 = test.pipe(
   op.last()
)
sub1.subscribe(lambda x: print("The last element is {0}".format(x)))

Resultado

E:\pyrx>python test1.py
The last element is 40

pular

Este operador irá devolver um observável, que irá ignorar a primeira ocorrência de itens de contagem tomados como entrada.

Sintaxe

skip(count)

Parâmetros

contagem: a contagem é o número de vezes que os itens serão omitidos da fonte observável.

Valor de retorno

Ele retornará um observável que ignora os valores com base na contagem fornecida.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 2,3,4,5,6,7,8,9,10)
sub1 = test.pipe(
   op.skip(5)
)
sub1.subscribe(lambda x: print("The element is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The element is 6
The element is 7
The element is 8
The element is 9
The element is 10

skip_last

Este operador irá devolver um observável, que irá ignorar a última ocorrência de itens de contagem tomados como entrada.

Sintaxe

skip_last(count)

Parâmetros

contagem: a contagem é o número de vezes que os itens serão omitidos da fonte observável.

Valor de retorno

Ele retornará um observável que ignora os valores com base na contagem fornecida a partir do último.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 2,3,4,5,6,7,8,9,10)
sub1 = test.pipe(
   op.skip_last(5)
)
sub1.subscribe(lambda x: print("The element is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The element is 1
The element is 2
The element is 3
The element is 4
The element is 5

levar

Este operador fornecerá uma lista de valores de origem em ordem contínua com base na contagem fornecida.

Sintaxe

take(count)

Parâmetros

contagem: a contagem é o número de itens, que será fornecido a partir da fonte observável.

Valor de retorno

Ele retornará um observável que possui os valores em ordem contínua com base na contagem fornecida.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 2,3,4,5,6,7,8,9,10)
sub1 = test.pipe(
   op.take(5)
)
sub1.subscribe(lambda x: print("The element is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The element is 1
The element is 2
The element is 3
The element is 4
The element is 5

take_last

Este operador fornecerá uma lista de valores de origem, em ordem contínua a partir do último com base na contagem fornecida.

Sintaxe

take_last(count)

Parâmetros

contagem: a contagem é o número de itens, que será fornecido a partir da fonte observável.

Valor de retorno

Ele retornará um observável, que tem os valores em ordem contínua a partir do último com base na contagem fornecida.

Exemplo

from rx import of, operators as op
from datetime import date
test = of(1, 2,3,4,5,6,7,8,9,10)
sub1 = test.pipe(
   op.take_last(5)
)
sub1.subscribe(lambda x: print("The element is {0}".format(x)))

Resultado

E:\pyrx>python testrx.py
The element is 6
The element is 7
The element is 8
The element is 9
The element is 10