函数式编程的杂七杂八(非常乱)
1.把大象关进冰箱里问题 面向过程: 把大象关进冰箱里: 把冰箱门打开=> 大象放冰箱里=> 冰箱门关上 面向对象: 冰箱.开门() 冰箱.放入(大象) 冰箱.关门() 函数式: 关进(冰箱,大象): 关门(放入(开门(冰箱),大象)) —————————————————————————— 2. C#引入FP的特性被某些人称作语法糖,我一直有意把这种观点拖出来痛打一顿(注意不是把持有这种观点的人拖出来痛打),至于持有这种观点的人,我禁止你们写a+b*c,以后给我统统去写汇编 MOV EAX, [b] MUL EAX, [c] ADD EAX, [a] 当然前提是我能禁止得了。 —————————————————————————— 3.语言特性和编程范式完全是两码事 从某种程度上来说,C语言既能进行函数式编程,又能进行 在支持面向对象的语言里,我完全可以设计一个类似下面的类 class Search { virtual List Extend(Node node) virtual bool Beam(Node node) virtual bool CheckFinish(Node node) Node Search() { OrderedCollection openlist=new OrderedCollection(); openlist.put(node); while(