В настоящий момент Im пытается понять функциональное программирование в Scala, и я столкнулся с проблемой, которую я не могу понять сам.
Представьте себе следующую ситуацию:
У вас есть два класса: Controller и Bot. Бот - независимый Актер, который инициируется Контроллером, выполняет некоторую дорогостоящую операцию и возвращает результат Контроллеру. Таким образом, назначение контроллера легко описать: создать несколько объектов Bot, запустить их и получить результат.
До сих пор так хорошо; Я могу реализовать все это без использования каких-либо изменяемых объектов.
Но что мне делать, если мне нужно сохранить результат, который возвращает Bot, использовать его позже в качестве входа для другого Бот (а позже означает, что я не знаю, когда на время компиляции!)?
Выполнение этого с измененным списком или коллекцией довольно просто, но я добавляю много проблем в свой код (поскольку мы имеем дело с concurrency здесь).
Возможно ли, следуя парадигме FP, решить эту проблему, используя безопасные объекты (списки...)?
Кстати, я новичок в FP, поэтому этот вопрос может показаться глупым, но я не могу понять, как это решить:)