首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure与Scala中的模式匹配

Clojure与Scala中的模式匹配
EN

Software Engineering用户
提问于 2014-04-25 16:30:30
回答 1查看 8.3K关注 0票数 12

这两种语言中模式匹配的主要区别是什么?我指的不是语法,而是能力、实现细节、用例范围和必要性。

Scala应用程序(如。高举和弹奏)自豪地谈论语言模式匹配的能力。另一方面,Clojure有一个库core.match,并内置在析构中,这似乎也很强大。

*注意:我之所以想问这个问题,是因为我在一篇博客文章中看到了一个程序员,作为一个实验,他使用Scala和Clojure构建了一个lisp解释器。他说,克洛尔的火柴在一定长度后就断了,但无法解释原因,但我真的很想知道。你可以在这里找到这篇文章:http://www.janvsmachine.net/2013/09/writing-simple-lisp-interpreter-in-clojure.html

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2014-04-25 16:57:14

这段视频中,我最近看到Rich评论说,他喜欢像Scala这样的语言的破坏部分,但不太喜欢模式匹配部分,因此他相应地设计了Clojure。这可能解释了为什么模式匹配在库中而不是那么健壮,尽管您在文章中提到的问题显然是错误。

Rich提到的替代模式匹配的方法是多方法。大多数语言允许您根据类型进行多态分派。有些语言还允许您根据值来执行此操作。使用多个方法,Clojure允许您基于任意函数进行操作。这是一个非常强大的概念。

归根结底,使用一种语言的程序员应该使用该语言自己最好的习惯用法。试图在Clojure中编写类似Scala的代码会有困难,反之亦然。

票数 22
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/237023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档