Può sembrare possibile ma non sarà una pura programmazione funzionale. Ciò può comportare una programmazione imperativa.
Non si può chiedere perché si riferisca a una possibile programmazione funzionale, come menzionato da Haylem. Ecco qui:
Dipende da cosa intendi per "programmazione funzionale" e per "possibile".
La programmazione funzionale non può avere definizioni o significati diversi sebbene possa avere molte spiegazioni.
Come OOP, possiamo chiedere "cosa intendi con OOP?".
Sicuramente ci saranno molte spiegazioni ma riguarderà solo un obiettivo, l'obiettivo di OOP.
Lo stesso vale per la programmazione funzionale .
Quando diciamo significato funzionale i programmi consistono in funzioni.
Il ruolo delle funzioni è di restituire un argomento / parametro valutato (l'argomento è variabile se l'espressione è arrivata quando si chiama la funzione mentre il parametro è variabile che fa parte della dichiarazione della funzione).
Inoltre, le funzioni restituiranno sempre lo stesso risultato quando vengono passati gli stessi argomenti. In questo modo è più facile evitare bug o eseguire il debug di bug futuri. Con la programmazione funzionale possiamo evitare effetti collaterali come la modifica della variabile globale.
esempio in JavaScript:
function increment(lis){
return lis.map(
function (x){
return x+2;
}
);
}
var myList = [4, 7, 2, 3];
console.log(increment(myList));
console.log(myList);
L'incremento della funzione aggiunge 1 valore a ciascuno degli elementi all'interno dell'oggetto e restituisce il risultato. Il valore di myList non è cambiato ma quando abbiamo chiamato le funzioni abbiamo visto il valore aggiunto agli elementi di quell'oggetto.
Come la mia risposta a Is programmazione funzionale possibile in Java? , Credo che non sia possibile avere una vera programmazione funzionale in Java. Perché java è davvero progettato per essere OOP in cui estende la programmazione imperativa e la migliora per mantenibilità. Quando lo stato di un oggetto, una variabile, ecc., È cambiato, questa è già una programmazione imperativa.