Avere variabili locali mutabili in una funzione che viene utilizzata solo internamente (ad es. La funzione non ha effetti collaterali, almeno non intenzionalmente) è ancora considerata "non funzionale"?
ad es. nel controllo dello stile del corso "Programmazione funzionale con Scala" viene considerato varerrato qualsiasi utilizzo
La mia domanda, se la funzione non ha effetti collaterali, è ancora scoraggiante scrivere codice di stile imperativo?
ad es. invece di usare la ricorsione della coda con il modello di accumulatore, cosa c'è di sbagliato nel fare un ciclo locale per creare un mutabile localeListBuffer e aggiungerlo, purché l'ingresso non sia cambiato?
Se la risposta è "sì, sono sempre scoraggiati, anche se non ci sono effetti collaterali", allora qual è la ragione?
varè sempre non funzionale. Scala ha valori pigri e ottimizzazione della ricorsione della coda, che consentono di evitare completamente i vars.