RxPY - Opérateurs de transformation

tampon

Cet opérateur collectera toutes les valeurs, de l'observable source et les émettra à intervalles réguliers une fois la condition aux limites donnée satisfaite.

Syntaxe

buffer(boundaries)

Paramètres

frontières: L'entrée est observable qui décidera quand s'arrêter pour que les valeurs collectées soient émises.

Valeur de retour

La valeur de retour est observable, qui aura toutes les valeurs collectées à partir de l'observable source basée et c'est la durée du temps est décidée par l'observable d'entrée prise.

Exemple

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

Production

E:\pyrx>python test1.py
The elements are [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

ground_by

Cet opérateur regroupera les valeurs provenant de l'observable source en fonction de la fonction key_mapper donnée.

Syntaxe

group_by(key_mapper)

Paramètres

key_mapper: Cette fonction se chargera d'extraire les clés de l'observable source.

Valeur de retour

Il renvoie une observable avec des valeurs regroupées en fonction de la fonction key_mapper.

Exemple

from rx import from_, interval, operators as op
test = from_(["A", "B", "C", "D"])
sub1 = test.pipe(
   op.group_by(lambda v: v[0])
)
sub1.subscribe(lambda x: print("The element is {0}".format(x)))

Production

E:\pyrx>python testrx.py
The element is <rx.core.observable.groupedobservable.GroupedObservable object
at
 0x000000C99A2E6550>
The element is <rx.core.observable.groupedobservable.GroupedObservable object at
 0x000000C99A2E65C0>
The element is <rx.core.observable.groupedobservable.GroupedObservable object at
 0x000000C99A2E6588>
The element is <rx.core.observable.groupedobservable.GroupedObservable object at
 0x000000C99A2E6550>

carte

Cet opérateur changera chaque valeur de la source observable en une nouvelle valeur basée sur la sortie du mapper_func donné.

Syntaxe

map(mapper_func:None)

Paramètres

mapper_func: (optionnel) Cela changera les valeurs de l'observable source en fonction de la sortie provenant de cette fonction.

Exemple

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

Production

E:\pyrx>python testrx.py
The element is 1
The element is 4
The element is 9
The element is 16
The element is 25
The element is 36
The element is 49
The element is 64
The element is 81
The element is 100

analyse

Cet opérateur appliquera une fonction d'accumulation aux valeurs provenant de l'observable source et retournera une observable avec de nouvelles valeurs.

Syntaxe

scan(accumulator_func, seed=NotSet)

Paramètres

accumulator_func: Cette fonction est appliquée à toutes les valeurs de l'observable source.

seed: (facultatif) La valeur initiale à utiliser à l'intérieur du cumul_func.

Valeur de retour

Cet opérateur renverra une observable qui aura de nouvelles valeurs basées sur la fonction d'accumulateur appliquée sur chaque valeur de l'observable source.

Exemple

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

Production

E:\pyrx>python testrx.py
The element is 1
The element is 3
The element is 6
The element is 10
The element is 15
The element is 21
The element is 28
The element is 36
The element is 45
The element is 55