什么是泛函编程(Functional Programming)?泛函编程就是用函数编写程序。这个回答太抽象,等于没说。再说清楚一点:泛函编程就想砌积木一样把函数当成积木块,把函数的输出输入作为积木的楔子和楔孔,把一个函数的输出当作另一个函数的输入组合成一个更大的函数。整个砌积木的过程就是泛函编程。嗯...
分类:
其他好文 时间:
2015-03-09 14:09:02
阅读次数:
106
Java开发人员应该对java.lang.Runnable,java.util.Comparator,java.util.concurrent.Callable 等等接口不会感到陌生。他们都只有一个单一的抽象方法。这样的接口,我们通常叫单一抽象方法接口(SAM,Single Abstract Method Interface)。在Java 8 中,对于这种拥有单一抽象方法的接口,换了个名字,叫函数接口。所以,这个不是什么新东西,这个名字也是为了Lambada表达式而生。...
分类:
编程语言 时间:
2015-03-05 23:43:46
阅读次数:
295
Python的一个很重要的方面就是:函数式编程(functional programming),即可以再原本传递参数和值的地方传递函数。lambda x: x%3 == 0 和以下等价:def by_three(x): return x %3 == 0 我们不需要真的给函数一个名字,其也可...
分类:
编程语言 时间:
2015-03-02 14:45:17
阅读次数:
147
STL算法部分库为 Algorithm 算法库 Functional函数式编程 Numeric 基础性的数值算法一一:find 查找类有13个函数,详情请百度。使用方法,s.find(“a”);s就是一个数据类型,比方说set 集合,就是在一个集合中找到第一个和a一样的 字符,然后返回他的迭代器,迭...
分类:
编程语言 时间:
2015-02-28 12:55:30
阅读次数:
197
原文地址:https://phphub.org/topics/25Codeception 简介Codeception 简单来说, 分为以下几种测试Acceptance Tests 验收测试Functional Tests 功能测试Unit Tests 单元测试接下来我们来一一介绍每一种测试的优缺点....
分类:
Web程序 时间:
2015-02-22 21:50:23
阅读次数:
404
原文地址:http://my.oschina.net/benhaile/blog/175012目录[-]函数式接口Lambda语法方法引用总结函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。简单来说,函数式接口是只包含一个方法的接口。比如Java...
分类:
编程语言 时间:
2015-02-17 10:21:09
阅读次数:
290
在看C++标准程序库书中,看到bind1st,bind2nd及bind的用法,当时就有一种熟悉感,仔细想了下,是F#里提到的柯里化。下面是维基百科的解释:在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的.....
分类:
编程语言 时间:
2015-02-13 01:35:28
阅读次数:
376
boost::bind 介绍 这篇文章介绍boost::bind()的用法, 文章的主要内容是参考boost的文档。1. 目的 boost::bind 是std::bindlist 和 std::bind2nd的结合体。它提供一个任意的函数对象(仿函数)、函数、函数指针、成员函数指针。 它可以绑定任...
分类:
其他好文 时间:
2015-01-31 01:48:50
阅读次数:
255
看以下代码: var bind = Function.prototype.call.bind(Function.prototype.bind); 第一眼看上去,我能猜出它究竟是用来做什么的。它把x.y(z)转化成了y(x,z)。编写良好的代码会比较容易被读懂。在读完Functional Javasc...
分类:
移动开发 时间:
2015-01-16 14:35:17
阅读次数:
148
这里是用 JavaScript 做的逆转序列(数组/字符串)的递归/尾递归实现。另外还尝鲜用了一下 ES6 的destructuring assignment + spread operator 做了一个更 functional 的版本(只支持数组)。正确性能通过测试(参见 放在我 Github 上...
分类:
编程语言 时间:
2015-01-11 06:12:23
阅读次数:
283