【问题标题】:Does an impure function return anything?不纯函数会返回任何内容吗?
【发布时间】:2014-03-14 03:12:03
【问题描述】:

不纯函数不会返回任何内容。我的电脑课本就是这么说的。我不确定它是否正确,因为根据定义,不纯函数是一个改变传递给它的参数状态的函数。参数一般是一个对象。

例如:

void impurefunc(Class object)
{
   object.var = 9; //object's variable changed
}

如果它返回任何东西,它是否仍然不纯?

【问题讨论】:

  • 这就是纯函数的定义
  • java 没有函数,它有方法。所有方法都必须返回一些东西,除非声明返回void,在这种情况下什么都不返回。如果不在方法名称前添加void,您的代码将无法编译。
  • (已修复)纯函数是不会导致任何(可观察到的)副作用的函数。修改参数只是一种副作用。

标签: java methods return


【解决方案1】:

不纯函数不会返回任何内容。计算机教科书就是这么说的。

错了。一个不纯的函数确实可以在做了它所做的任何不纯的事情之后返回任何东西。在 Java 和我所知道的所有其他语言中都是如此。

【讨论】:

  • 你确定吗?因为我今天有我的计算机考试
  • @Shubham:非常。 (如果你也看看 Haskell,IO a 还在做什么?)
猜你喜欢
  • 2018-08-27
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2017-06-23
  • 2016-08-10
  • 2022-01-12
  • 2020-01-10
  • 2021-07-23
相关资源
最近更新 更多