R Language
Programmazione funzionale
Ricerca…
Funzioni di ordine superiore incorporate
R ha un set di funzioni di ordine superiore: Map
, Reduce
, Filter
, Find
, Position
, Negate
.
Map
applica una determinata funzione a un elenco di valori:
words <- list("this", "is", "an", "example")
Map(toupper, words)
Reduce
successivamente una funzione binaria in un elenco di valori in modo ricorsivo.
Reduce(`*`, 1:10)
Filter
dato una funzione di predicato e un elenco di valori restituisce un elenco filtrato contenente solo valori per i quali la funzione di predicato è TRUE.
Filter(is.character, list(1,"a",2,"b",3,"c"))
Find
data una funzione di predicato e un elenco di valori restituisce il primo valore per il quale la funzione di predicato è TRUE.
Find(is.character, list(1,"a",2,"b",3,"c"))
Position
assegnata a una funzione di predicato e un elenco di valori restituiscono la posizione del primo valore nell'elenco per il quale la funzione di predicato è TRUE.
Position(is.character, list(1,"a",2,"b",3,"c"))
Negate
inverte una funzione predicato facendola restituire FALSE per i valori in cui ha restituito TRUE e viceversa.
is.noncharacter <- Negate(is.character)
is.noncharacter("a")
is.noncharacter(mean)