如果函数不直接更改/存储状态、不引用全局变量等,那么将非纯函数作为参数的函数是否可以被视为纯函数?我们在哪里以及如何在什么是纯的和什么不是纯的之间划清界限,是仅仅在函数的问题代码上还是我们考虑到调用参数的影响?
例如,想象一下这种情况,其中纯函数表示无状态工作流,并将在此工作流期间要执行的一些操作作为参数。其中一项操作会在某处更改某些状态。因此,如果我严格查看我的工作流程的实现,它看起来很纯粹,但最终它确实通过调用这个修改状态的参数函数来修改状态。我很想推测工作流也不是纯的,但是传入一个不改变状态的不同参数会使它变得纯,所以我很困惑。
任何帮助都感激不尽。谢谢你。