Esiste un nome per questo tipo di funzione?

0

Sono un analista di dati, non uno sviluppatore di software, e spesso mi trovo a scrivere una funzione come questa (mostrata nella sintassi di Python qui):

def apply_many(arg, *funcs):
    return [func(arg) for func in funcs]

quindi posso fare cose come

from random import random

# generate 10 random numbers for demonstration
x = [random() for _ in range(10)]

def mean(x):
    return sum(x) / len(x)

result = apply_many(x, min, mean, max)

Che restituisce il minimo, la media e il massimo in x :

[0.022936866501094166, 0.3962645320243164, 0.7520986774090447]

Quella piccola funzione apply_many (con alcune modifiche aggiuntive) salva di solito un sacco di digitazione per me, e credo anche che crei un codice più leggibile.

Esiste una specie di nome accettato per questa cosa? C'è un uso per esso nella corretta programmazione funzionale?

    
posta shadowtalker 12.10.2016 - 01:01
fonte

1 risposta

1

Non so se c'è un nome accettato per questo, ma in realtà è solo una forma di map :

apply: ('a -> 'b) list -> 'a -> 'b list
apply functions arg = map (\f -> f arg) functions

Non è particolarmente interessante, ma ce l'hai.

    
risposta data 12.10.2016 - 01:36
fonte

Leggi altre domande sui tag