Type I.
proc1();
proc2();
Type II.
proc1(proc2);
proc1();
proc2();
Type II.
proc1(proc2);
1
isaced Jan 21, 2014
这两种不一样的吧?
|
3
FrankFang128 Jan 21, 2014 via Android
II
|
4
miniwade514 Jan 21, 2014
这是啥,异步/同步?单线程/多线程?
|
5
Golevka Jan 21, 2014
CPS
|
6
ipconfiger Jan 21, 2014 程序员应该是分为10类,一类是懂二进制的,一类是不懂二进制的
|
7
housne Jan 21, 2014
nodejs 写多了就变成了 Type II.
|
8
leofml Jan 21, 2014
@miniwade514 函数式 过程式
|
9
arcas Jan 21, 2014
你真无聊!
|
10
dorentus Jan 21, 2014 via iPhone
这两组代码做的根本就不是同一件事…
|
11
miniwade514 Jan 21, 2014
|
12
subpo Jan 21, 2014
2
|
13
helone Jan 21, 2014
人也应该分两种,一种喜欢把人归类,另一种不喜欢把人归类。
|
14
lm902 Jan 21, 2014
插入?好吧我想多了
|
15
wity_lv Jan 21, 2014
Type II的威力:
(define (sum term a next b) (define (iter a result) (if (> a b) result (iter (next a) (+ (term a) result)))) (iter a 0)) (sum (lambda (x) x) 1 (lambda (i) (+ 1 i)) 10) |
21
mikawudi Jan 22, 2014
Func<Func<int, int>, int, Func<int, int>, int, int> sum = (term, a, next, b) =>
{ Func<int, int, int> iter = null; iter = (a1, result) => { if (a1 > b) return result; else return iter(next(a1), term(a1) + result); }; return iter(a, 0); }; int ss = sum((x) => { return x; }, 1, (i) => { return i + 1; }, 10); C#版本.....简单来说是做累加,不过写的更泛用了....步长和每一次对累加值可以进行自定义....差不多这个意思?....写完才发现lambda表达式貌似不能递归自己....还要显示声明下再用引用来递归...好难受 |
23
wity_lv Jan 22, 2014
@loading
@housne @yuankui @mikawudi 给一个javascript版本, 用高阶函数做抽象. function sum (term, a, next, b) { function iter (a, result) { if (a > b) { return result; } var ret = term(a) + result; return iter(next(a), ret); } return iter(a, 0); } var all = sum(function(x) { return x; }, 1, function(x) { return x + 1; }, 100); console.log(all); |
24
wity_lv Jan 22, 2014
|
26
nybux Jan 22, 2014
#include <iostream>
#include <functional> template<typename F1, typename F2, typename T> int sum(F1 term, T a, F2 next, T b) { std::function<int(T,T)> iter = [&](T a, T result){ return (a > b) ? result : iter(next(a), term(a) + result); }; return iter(a, 0); } int main() { int all = sum([](int x) { return x; }, 1, [](int x) { return x + 1;}, 100); std::cout << all << std::endl; } |
27
halfblood Jan 23, 2014
过程式和函数式而已!
整天讨论这些有毛用啊…… |