RxPY - Operatori di filtro

antirimbalzo

Questo operatore fornirà i valori osservabili dalla sorgente, fino al periodo di tempo specificato e ignorerà il resto dei valori se il tempo passa.

Sintassi

debounce(duetime)

Parametri

duetime: valuterà in secondi o istanze di tempo, la durata che deciderà i valori da restituire dalla sorgente osservabile.

Esempio

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

Produzione

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

distinto

Questo operatore darà tutti i valori che sono distinti dalla fonte osservabile.

Sintassi

distinct()

Valore di ritorno

Restituirà un osservabile, dove avrà valori distinti dalla fonte osservabile.

Esempio

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

Produzione

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

Questo operatore fornirà un elemento dalla fonte osservabile per l'indice dato.

Sintassi

element_at(index)

Parametri

indice: il numero a partire da zero per il quale è necessario l'elemento della sorgente osservabile.

Valore di ritorno

Restituirà un osservabile con il valore della sorgente osservabile con l'indice fornito.

Esempio

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

Produzione

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

filtro

Questo operatore filtrerà i valori dalla sorgente osservabile in base alla funzione del predicato fornita.

Sintassi

filter(predicate_func)

Parametri

predicate_func: questa funzione deciderà i valori da filtrare dalla sorgente osservabile.

Valore di ritorno

Restituirà un osservabile che avrà i valori filtrati dalla sorgente osservabile in base alla funzione del predicato.

Esempio

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

Nell'esempio, abbiamo filtrato tutti i numeri pari.

Produzione

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

primo

Questo operatore darà il primo elemento osservabile dalla sorgente.

Sintassi

first(predicate_func=None)

Parametri

predicate_func: (opzionale) questa funzione deciderà il primo elemento da selezionare in base alla condizione se passata.

Valore di ritorno

Restituirà un osservabile con il primo valore della sorgente osservabile.

Esempio

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

Produzione

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

Esempio 2: utilizzo di 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)))

Produzione

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

ignore_elements

Questo operatore ignorerà tutti i valori dall'Osservable di origine ed eseguirà solo chiamate per completare o generare errori nelle funzioni di callback.

Sintassi

ignore_elements()

Valore di ritorno

Restituisce un osservabile che chiamerà completo o errore in base alla fonte osservabile.

Esempio

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

Produzione

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

scorso

Questo operatore fornirà l'ultimo elemento dalla sorgente osservabile.

Sintassi

last(predicate_func=None)

Parametri

predicate_func: (opzionale) Questa funzione deciderà l'ultimo elemento da selezionare in base alla condizione, se passata.

Valore di ritorno

Restituirà un osservabile con l'ultimo valore della fonte osservabile.

Esempio

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

Produzione

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

Salta

Questo operatore restituirà un osservabile, che salterà la prima occorrenza degli elementi di conteggio presi come input.

Sintassi

skip(count)

Parametri

conteggio: il conteggio è il numero di volte in cui gli elementi verranno ignorati dalla fonte osservabile.

Valore di ritorno

Restituirà un osservabile che salta i valori in base al conteggio fornito.

Esempio

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

Produzione

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

Questo operatore restituirà un osservabile, che salterà l'ultima occorrenza degli elementi di conteggio presi come input.

Sintassi

skip_last(count)

Parametri

count: il conteggio è il numero di volte in cui gli elementi verranno ignorati dalla fonte osservabile.

Valore di ritorno

Restituirà un osservabile che salta i valori in base al conteggio fornito dall'ultimo.

Esempio

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

Produzione

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

prendere

Questo operatore fornirà un elenco di valori di origine in ordine continuo in base al conteggio fornito.

Sintassi

take(count)

Parametri

count: il conteggio è il numero di elementi, che sarà dato dalla fonte osservabile.

Valore di ritorno

Restituirà un osservabile che ha i valori in ordine continuo in base al conteggio fornito.

Esempio

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

Produzione

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

Questo operatore fornirà un elenco di valori di origine, in ordine continuo dall'ultimo in base al conteggio fornito.

Sintassi

take_last(count)

Parametri

count: il conteggio è il numero di elementi, che sarà dato dalla fonte osservabile.

Valore di ritorno

Restituirà un osservabile, che ha i valori in ordine continuo dall'ultimo in base al conteggio fornito.

Esempio

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

Produzione

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