Domanda

Secondo Wikipedia:

Nella programmazione del computer, una funzione può essere descritta come pura se entrambe queste istruzioni sulla funzione sono valide: la funzione valuta sempre lo stesso valore di risultato dato lo stesso valore / i dell'argomento. Il valore del risultato della funzione non può dipendere da alcuna informazione nascosta o stato che può cambiare man mano che l'esecuzione del programma procede o tra diverse esecuzioni del programma, né può dipendere da qualsiasi input esterno dai dispositivi I/O. La valutazione del risultato non provoca alcun effetto collaterale o output semanticamente osservabile, come la mutazione di oggetti mutabili o l'output ai dispositivi I/O.

Mi chiedo se è possibile scrivere una funzione che calcola se una funzione è pura o no. Codice di esempio in JavaScript:

function sum(a,b) {
    return a+b;
}

function say(x){
    console.log(x);
}

isPure(sum) // True
isPure(say) // False

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top