纯函数

进程设计中,若一个函数符合以下要求,则它可能被认为是纯函数

  • 此函数在相同的输入值时,需产生相同的输出。函数的输出和输入值以外的其他隐藏信息或状态无关,也和由I/O设备产生的外部输出无关。
  • 该函数不能有语义上可观察的函数副作用,诸如“触发事件”,使输出设备输出,或更改输出值以外对象的内容等。

纯函数的输出可以不用和所有的输入值有关,甚至可以和所有的输入值都无关。但纯函数的输出不能和输入值以外的任何信息有关。纯函数可以传回多个输出值,但上述的原则需针对所有输出值都要成立。若参数是传引用调用,若有对参数对象的更改,就会影响函数以外对象的内容,因此就不是纯函数。

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.