看函数式编程,有个很奇怪的概念,就算根据表达式结果,来执行相匹配的语句。初一看,不就是加强版的switch语句么?为什么要这么强调这个特点?
的确,在这里,它们是和switch一样,不过是起分支作用。其实,还有更深的含义。
联系一下发明lisp,prolog等函数式语言的缘由-人工智能,就很清楚了。起初的人工智能研究集中在知识推理方面,使用谓词演算、规则之类的工具来做专家系统,也就是如果匹配一些事实,那么得出一些推论。只需要做完匹配,就完成任务,可以下班了,多好。
无它,匹配而已, 非switch 。