关于纯函数,pure function
来源:互联网 发布:php setsoapheaders 编辑:程序博客网 时间:2024/06/06 12:56
纯函数是我新接触的一个概念,以前我写函数,基本上不会调用外部的参数,因此写的函数基本上都是纯函数,那么什么是非纯函数呢,我给大家举个例子。
#include<stdio.h>const int a=2;int add(int b);int main(){printf("%d",add(1));}int add(int b){return a+b;}我们可以看到,我在add函数中调用了一个外部参数a,那么add最终的结果不仅仅依赖参数b,而且依赖参数a,那么最终add函数就会有不确定性。
因此有了纯函数的概念:
- 函数的返回结果只依赖于它的参数。
- 函数执行过程里面没有副作用。
我们在写代码的过程中,应该尽量避免非纯函数的存在,使用外部参数很容易造成一些由于外部参数的修改而产生的错误。
function createStore (state, stateChanger) { const listeners = [] const subscribe = (listener) => listeners.push(listener) const getState = () => state const dispatch = (action) => { stateChanger(state, action) listeners.forEach((listener) => listener()) } return { getState, dispatch, subscribe }}代码摘自react.js小书。
上述代码中dispatch不仅仅调用了action一个内部参数,而且调用了一个state外部参数,虽然这样用的实现了观察者的设计模式,但是效率不高,容易出错。
阅读全文
0 0
- 关于纯函数,pure function
- 什么叫pure function(纯函数)
- What is a pure virtual function?--什么是纯虚函数
- 纯虚函数调用 pure virtual function call 错误
- 【转】纯虚函数调用 pure virtual function call 错误
- C++读书笔记之纯虚函数pure virtual function
- 【C++基础】纯虚函数 - pure virtual function
- C++ 纯虚函数 pure virtual function && ABC
- 虚函数(Virtual Function)与 纯虚函数(Pure Virtual Function)
- "Pure Virtual Function Called" 纯虚函数调用错误分析(翻译)
- 一篇关于pure virtual function call错误的文章.
- win32平台关于“pure virtual function call”的解释
- win32平台关于“pure virtual function call”的解释
- pure virtual function call--虚函数调用的错误
- pure virtual function called--虚函数调用错误
- pure virtual function called--虚函数调用错误
- Pure virtual function called
- pure virtual function called
- HDU-3667 Transportation
- java.lang.IllegalArgumentException: Tuple created with wrong number of fields. Expected 1 fields but
- 沉浸式布局的使用
- 【Scikit-Learn 中文文档】监督学习:从高维观察预测输出变量
- 使用mac openssl 生成证书
- 关于纯函数,pure function
- 蓝桥杯 寻找数组中的最大值
- 操作系统的知识
- M
- date1206学习java的每日总结
- 设计模式简介
- php参数优化
- 如何在Oracle数据库中使用dbms_output输出内容
- Android逆向之将apk还原成源码工程项目