【问题标题】:What does pure function returning pure mean?纯函数返回纯是什么意思?
【发布时间】:2011-12-09 04:08:02
【问题描述】:

纯函数返回纯是什么意思?

pure int doubleMe(in int i) pure { return i * 2; }

代码编译没有给出redundant storage class pure,所以我想这不是bug?

// DMD 2.056

【问题讨论】:

  • 我一直在尝试清理pure 标签,因为它有时指的是纯虚函数,有时指的是pure,有时指的是pure - 等等。但我对d 一无所知。您能否确认我的标签编辑是否合适? purely-functional 可以解决这个问题吗?我创建了pure-function,所以如果purely-functional 有效,我认为使用现有标签会更好。
  • @RichardJPLeGuen Pure 和functional purity 一样,所以纯函数可以解决这个问题。纯粹的功能,不是那么多。

标签: d pure-function


【解决方案1】:

Pure 是一个函数属性。函数属性可以放在返回类型之前或参数列表之后。在这两种情况下,它都描述了函数,而不是返回类型。所以,不存在“还清净”。

它应该会引发错误,这可能是一个错误。同样的事情也会被其他一些属性忽略,比如@safe。

【讨论】:

【解决方案2】:

pure int 可能应该被忽略。但是,我相信我们拥有它的原因是一个函数可能返回一个“纯函数”。在那种情况下,我认为它是否是一个错误是有争议的。

【讨论】:

  • pure 放在返回类型之前总是指函数。这与存储类和其他函数属性相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 1970-01-01
  • 2019-10-05
  • 1970-01-01
  • 2011-04-08
  • 2015-11-03
  • 1970-01-01
相关资源
最近更新 更多