对巴解组织的看法很有意思 - 页 12

 
fxsaber:

我明白这是一个习惯和语法知识的问题,但我发现很难进入代码,尽管我是原作者。

不幸的是,我不能在FP风格中使用MQL。简而言之,利用了以下方法:有报价条件(PammSet),有将条件转换成财务结果的函数(AccountRecord)。这两种类型都是不变的,并在创建时设置。任务是生成报价集,并通过映射函数(Set1, Set2, Set3)将该集的每个元素与财务结果进行比较。关键元素是SELECT函数,对序列的每个元素应用一个任意的函数,如Func<in, out>。

 

雅克-弗雷斯科谈FP和巴解组织


 
而这个FP与使用函数指针 有什么本质上的区别?
 
Dmitry Fedoseev:
那么它与使用 函数的指针 有什么本质上的区别呢?

它是的,只是FP有一个更方便的语法。

如此方便,以至于整个代码架构都是基于它的。

例如,你可以创建一个块,它将接收一个任务,当鼠标被点击时执行 ....例如,用于GUI。

在那里,你可以将调用批量化为一个列表,并很简单地添加要执行的工作

例子

Button1.MouseClickAdd(() => (这里是我们的函数的链接,风格为Funk();))

在这种情况下,这种设置,即任务,可以由用户添加,他使用我们的工具栏的代码来配置他在按钮上的操作....。

在这种情况下,函数的绑定将从作用域中获取。也就是说,一个类可以被添加到任何东西上。所以,我们不是在添加函数的最终结果,而是在这个条件发生时应该执行(调用)的函数。

 
Dmitry Fedoseev:
而这个FP与使用函数指针 有什么本质上的区别?

FP是lambda-calculus的一种实现,而命令式编程(包括OOP)是图灵机的一种实现。

 
Aleksey Nikolayev:

FP是lambda-calculus的一种实现,而命令式编程(包括OOP)是图灵机的一种实现。

有道理)

 

我认为我们正在讨论 "苍蝇和肉片"。

如果FP是OOP的一个很好的替代品,请给我看一个用FP实现GUI的例子,而不是上面的例子

Кнопка1.MouseClickAdd(()=>(тут ссылка на нашу функцию в стиле Funk();))

但是一个按钮、复选框、滚动条等的例子。- 都是在FP制作的。


我认为,如果FP有助于简化形式化和问题的解决,这样就不会造成C++ 对线性代码执行的依赖(从上到下)--很好!但讨论FP是OOP(从程序化风格中发展出来的)的替代品,我认为是另一种冷热比较。

 
Igor Makanu:

我认为我们正在讨论 "苍蝇和肉片"。

如果FP是OOP的一个很好的替代品,请给我看一个用FP实现GUI的例子,而不是上面的例子

但是一个按钮、复选框、滚动条等的例子。- 都是在FP制作的。


我认为,如果FP有助于简化形式化和问题的解决,这样就不会造成C++ 对线性代码执行的依赖(从上到下)--很好!但要讨论FP是OOP(从程序化风格中发展出来的)的替代品,我认为这是另一种温与软之间的比较。

这里恰恰是一个不妨碍另一个,而是对它的补充。

如果你愿意,你也可以像OOP那样用Tyke的结构在FP中创建一切--尽管这是个非常可疑的任务
 
Alexandr Andreev:

这时,一个人不会干扰另一个人,而是对其进行补充。

这就是我在写的东西

和主题第一帖的文章,试图比较两种完全不同的,在目的方面的编程范式

 
Aleksey Nikolayev:

FP是lambda-calculus的一种实现,而命令式编程(包括OOP)是图灵机的一种实现。

详尽无遗!我不会再加了))