所以,我相信我理解纯函数。类似于abs或sqrt的地方,输出依赖于输入并且没有副作用。不过,我很困惑这种方法如何工作。C++/c#类中的纯方法
如果我们将一个方法作为一个带有隐式参数的函数来看,那么我会假定像下面那样的方法确实是纯的。
class Foo
{
int x;
[Pure] public int Bar() { return x * 2; }
}
这是一个正确的假设,该函数是纯粹的吗?如果read变量是readonly/const,它会有所作为吗?
如果调用者不能准确预测结果,那么它不是纯粹的。所以这不是纯粹的。那么为什么呼叫者会使用它?因为它可能是一个复杂的操作,调用者不想实现它。换句话说,结果只能从输入中推导出来,而没有别的。 – CodingYoshi
为什么标记为C++? –
@passerby因为它是语言不可知的。所以它可以被标记任何东西。但是,为什么是这样的:pehaps用户想要这些语言的示例 – CodingYoshi