Por el momento, estoy tratando de entender la Programación Funcional en Scala y me encontré con un problema que no puedo resolver.Uso correcto de listas mutables/inmutables
Imagine la siguiente situación:
Existen dos clases: Controlador y Motor de búsqueda. Un Bot es un Actor independiente que se inicia con un controlador , realiza alguna operación costosa y devuelve el resultado al controlador . El propósito del controlador es, por lo tanto, fácil de describir: crea una instancia de varios objetos de Bot, inícialos y recibe el resultado.
Hasta ahora, muy bien; Puedo implementar todo esto sin usar ningún objeto mutable.
Pero ¿qué hago, si tengo que guardar el resultado de que un Bot retornos, para usarlo posteriormente como entrada para otro Bot (y más tarde significa que No sé cuando en ¡tiempo de compilación!)?
Hacer esto con una lista o colección mutable es bastante fácil, pero agrego muchos problemas a mi código (ya que estamos tratando con la concurrencia aquí).
¿Es posible, siguiendo el paradigma de FP, resolver esto utilizando objetos inmutables (listas ...) de forma segura?
Por cierto, soy nuevo FP, por lo que esta pregunta puede sonar estúpido, pero no puedo encontrar la manera de resolver esto :)
Gracias por esta respuesta. ¡Jugué con tu ejemplo y lo modifiqué según mis necesidades, y parece ser la solución perfecta para mi problema específico! –