加入收藏 | 设为首页 | 会员中心 | 我要投稿 盐城站长网 (https://www.0515zz.cn/)- 运维、云管理、管理运维、智能数字人、AI硬件!
当前位置: 首页 > 站长资讯 > 动态 > 正文

首条无人驾驶地铁上线 车头视角如穿越时空

发布时间:2021-02-03 10:56:58 所属栏目:动态 来源:互联网
导读:所有功能语言都对模式匹配提供了极大的支持。通常,模式匹配允许人们编写非常有表现力的代码。 这是一个关于选项(布尔)类型的模式匹配的示例: 相同的代码,没有模式匹配: 毫无疑问,模式匹配版本更加富有表现力和简洁。 模式匹配还提供了编译时的详尽性保

所有功能语言都对模式匹配提供了极大的支持。通常,模式匹配允许人们编写非常有表现力的代码。

这是一个关于选项(布尔)类型的模式匹配的示例:

相同的代码,没有模式匹配:

毫无疑问,模式匹配版本更加富有表现力和简洁。

模式匹配还提供了编译时的详尽性保证,这意味着我们将不会忘记检查可能的情况。没有以非功能性语言提供的此类保证。
 

与命令式(主流语言)不同,函数式编程语言鼓励使用纯函数式编程。

什么是纯函数?这个想法非常简单-给定相同的输入,纯函数将始终返回相同的输出。例如,2 + 2将始终返回4,这意味着加法运算符+是纯函数。

纯函数不允许与外界进行交互(进行API调用,甚至无法写入控制台)。甚至不允许更改状态。这与OOP所采取的方法完全相反,在OOP中,任何方法都可以自由地改变其他对象的状态。

可以很容易地从不纯函数中分辨出纯函数-函数是不带参数,还是不返回值?然后,这是一个不纯函数。

这种方法似乎很局限,可能需要一段时间才能习惯。起初,这肯定让我感到困惑!

纯函数有什么好处?它们非常易于测试(无需模拟和存根)。关于纯函数的推理很容易-与OOP不同,无需牢记整个应用程序状态。您只需要担心当前正在使用的功能。

纯函数可以轻松组成。纯函数对于并发非常有用,因为函数之间没有共享状态。重构纯函数是纯粹的乐趣-只需复制和粘贴,无需复杂的IDE工具。

简而言之,纯函数将欢乐带回到编程中。

函数式编程鼓励使用纯函数-当90%以上的代码库由纯函数组成时,这很好。一些语言将其极端化,并完全禁止使用非纯函数(这并不总是一个好主意)。

(2) 不变的数据结构
 

让我们先绕道而行,然后再继续排名。为什么要烦恼函数式编程?函数式编程使我们高枕无忧。

是的,函数式编程可能听起来很吓人,但实际上没有什么可担心的。简而言之,函数式语言做出了许多正确的设计决策,而其他语言则做出了错误的决策。在大多数情况下,函数式语言将具有正确的功能:具有代数数据类型支持的功能强大的类型系统,无null,错误处理无异常,内置的不变数据结构,模式匹配,函数组合运算符。

函数式编程语言有哪些共同的优势使其在我们的排名中如此高?

(1) 使用纯函数编程

(编辑:盐城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读