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