純函數

在程序設計中 ， 若一個函數符合以下要求 ， 則它可能被認爲是純函數 ： 此函數在相同的輸入值時 ， 需產生相同的輸出 。 函數的輸出和輸入值以外的其他隱藏信息或無關 ， 也和由I / O設備產生的外部輸出無關 。 該函數不能有語義上可觀察的函數副作用 ， 諸如 “ 觸發事件 ” ， 使輸出設備輸出 ， 或更改輸出值以外物件的內容等 。 純函數的輸出可以不用和所有的輸入值有關 ， 甚至可以和所有的輸入值都無關 。 但純函數的輸出不能和輸入值以外的任何資訊有關 。 純函數可以傳回多個輸出值 ， 但上述的原則需針對所有輸出值都要成立 。 若引數是傳引用調用 ， 若有對參數物件的更改 ， 就會影響函數以外物件的內容 ， 因此就不是純函數 。 Category: 函數式編程 Category: 子程序