RxPY - Opérateurs de filtrage

rebondir

Cet opérateur donnera les valeurs de la source observable, jusqu'à la période donnée et ignorera le reste des valeurs si le temps passe.

Syntaxe

debounce(duetime)

Paramètres

duetime: cela valorisera en secondes ou en instances de temps, la durée qui décidera des valeurs à renvoyer depuis l'observable source.

Exemple

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)))

Production

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

distinct

Cet opérateur donnera toutes les valeurs distinctes de l'observable source.

Syntaxe

distinct()

Valeur de retour

Il renverra un observable, où il aura des valeurs distinctes de l'observable source.

Exemple

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)))

Production

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

Cet opérateur donnera un élément de la source observable pour l'index donné.

Syntaxe

element_at(index)

Paramètres

index: le nombre à partir de zéro pour lequel vous avez besoin de l'élément de l'observable source.

Valeur de retour

Il renverra une observable avec la valeur de l'observable source avec l'index donné.

Exemple

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)))

Production

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

filtre

Cet opérateur filtrera les valeurs de l'observable source en fonction de la fonction de prédicat donnée.

Syntaxe

filter(predicate_func)

Paramètres

predicate_func: Cette fonction décidera des valeurs à filtrer à partir de l'observable source.

Valeur de retour

Il renverra une observable qui aura les valeurs filtrées de l'observable source en fonction de la fonction de prédicat.

Exemple

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)))

Dans l'exemple, nous avons filtré tous les nombres pairs.

Production

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

première

Cet opérateur donnera le premier élément de la source observable.

Syntaxe

first(predicate_func=None)

Paramètres

predicate_func: (facultatif) Cette fonction décidera du premier élément à choisir en fonction de la condition si elle est passée.

Valeur de retour

Il renverra une observable avec la première valeur de l'observable source.

Exemple

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)))

Production

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

Exemple 2: utilisation de 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)))

Production

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

ignore_elements

Cet opérateur ignorera toutes les valeurs de la source Observable et n'exécutera que les appels aux fonctions de rappel complètes ou d'erreur.

Syntaxe

ignore_elements()

Valeur de retour

Il renvoie une observable qui appellera complete ou error en fonction de l'observable source.

Exemple

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!"))

Production

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

dernier

Cet opérateur donnera le dernier élément de la source observable.

Syntaxe

last(predicate_func=None)

Paramètres

predicate_func: (facultatif) Cette fonction décidera du dernier élément à choisir en fonction de la condition si elle est passée.

Valeur de retour

Il renverra une observable avec la dernière valeur de l'observable source.

Exemple

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)))

Production

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

sauter

Cet opérateur rendra une observable, qui sautera la première occurrence des éléments de comptage pris en entrée.

Syntaxe

skip(count)

Paramètres

count: Le nombre est le nombre de fois où les éléments seront ignorés de l'observable source.

Valeur de retour

Il renverra une observable qui ignore les valeurs en fonction du nombre donné.

Exemple

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)))

Production

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

Cet opérateur rendra une observable, qui sautera la dernière occurrence des éléments de comptage pris en entrée.

Syntaxe

skip_last(count)

Paramètres

count: Le nombre est le nombre de fois où les éléments seront ignorés de l'observable source.

Valeur de retour

Il renverra un observable qui ignore les valeurs en fonction du nombre donné depuis le dernier.

Exemple

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)))

Production

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

prendre

Cet opérateur donnera une liste de valeurs source dans un ordre continu basé sur le nombre donné.

Syntaxe

take(count)

Paramètres

count: Le nombre est le nombre d'éléments, qui seront donnés à partir de l'observable source.

Valeur de retour

Il renverra une observable qui a les valeurs dans un ordre continu basé sur le nombre donné.

Exemple

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)))

Production

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

Cet opérateur donnera une liste de valeurs source, dans l'ordre continu du dernier en fonction du nombre donné.

Syntaxe

take_last(count)

Paramètres

count: Le nombre est le nombre d'éléments, qui seront donnés à partir de l'observable source.

Valeur de retour

Il retournera une observable, qui a les valeurs dans l'ordre continu de la dernière en fonction du nombre donné.

Exemple

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)))

Production

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