首页 > 解决方案 > 数值模拟的函数式编程

问题描述

我最近对函数式编程(FP)感兴趣。但是,我想知道使用 FP 进行模拟是否困难。

例如,使用面向对象编程 (OOP),我会为每个代理(可能是类)分配一个状态并因果更新它们的状态。状态的历史记录到某个数组中。如有必要,将在每个时间段保存和刷新历史记录。

据我所知,FP 避免了可变数据,因此每个代理的时变状态不能包含在代理中。然后,对于 FP 中的模拟,我是否必须将每个时间瞬间的状态记录到某个数组而不为每个代理分配状态?那么,如果我想查看特定代理的状态以进行调试怎么办?我应该在记录的数组中找到状态吗?

像上面一样,我很难用 FP 的方式来思考数值模拟。老实说,OOP 风格对于这项任务来说看起来很自然。

任何人都可以解释一些以 FP 方式编写数值模拟代码的例程吗?

标签: oopfunctional-programmingsimulation

解决方案


推荐阅读