我一直在尝试向几个人解释switch语句和模式匹配(F#)之间的区别,但是我实际上并不能很好地解释它。大多数情况下,他们只是看着我说:“为什么您不只是使用if..then..else”。

您将如何向他们解释?

编辑!谢谢大家的出色回答,我真的希望我能为多个正确的答案做出标记。

最佳答案

以前曾经是“那些人”之一,但我不知道有一种简洁的方法可以总结为什么模式匹配如此美味。这是经验。

回到我刚刚看过模式匹配并认为它是一个荣耀的switch语句时,我认为我没有使用代数数据类型(元组和有区别的并集)进行编程的经验,并且不太清楚模式匹配是两者的结合对照构建体和结合构建体。现在,我一直在使用F#进行编程,我终于“明白了”。模式匹配的凉爽是由于在函数式编程语言中发现的功能融合在一起,因此对于外来者来说,欣赏它并不容易。

我试图总结一个方面,为什么模式匹配在有关语言和API设计的由两部分组成的简短博客系列中的第二部分中很有用; checkout part onepart two

关于f# - 解释模式匹配与切换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/199918/

10-12 22:53