【发布时间】:2014-03-14 03:12:03
【问题描述】:
不纯函数不会返回任何内容。我的电脑课本就是这么说的。我不确定它是否正确,因为根据定义,不纯函数是一个改变传递给它的参数状态的函数。参数一般是一个对象。
例如:
void impurefunc(Class object)
{
object.var = 9; //object's variable changed
}
如果它返回任何东西,它是否仍然不纯?
【问题讨论】:
-
这就是纯函数的定义
-
java 没有函数,它有方法。所有方法都必须返回一些东西,除非声明返回
void,在这种情况下什么都不返回。如果不在方法名称前添加void,您的代码将无法编译。 -
(已修复)纯函数是不会导致任何(可观察到的)副作用的函数。修改参数只是一种副作用。