【发布时间】:2021-07-21 19:53:58
【问题描述】:
例如。 PureFoo(onSuccess: () => { DoSomething(); });(C# 中的示例)
如果Purefoo 调用onSuccess,它仍然算作纯(没有“副作用”)吗?还是该方法只是“诚实”的(因为不隐藏它的作用)?
我在 Google 上搜索过,但没有得到相关结果。
【问题讨论】:
-
为了澄清,你是问如果一个函数调用非纯函数,它是否仍然是纯函数?
-
@Calculuswhiz 是的,就像“如果这样做,它是否仍然被认为是纯粹的”,因为不幸的是,C# 并不强制执行纯粹性。还是应该避免/从技术上讲不可调用/不再限定为纯。
-
在Software Engineering看到这个问题。
-
既然C#没有纯函数作为概念,如果你觉得还可以,有什么别的说法吗?
-
@LasseV.Karlsen 对我来说有点重要,因为我希望它确实执行了它,并且当有可能生成更清洁/更健壮的代码时,我会努力遵守它。
标签: functional-programming terminology