gpt4 book ai didi

带有重载提取器的 Scala 语言?

转载 作者:行者123 更新时间:2023-12-04 16:23:26 27 4
gpt4 key购买 nike

至少在某些 ML 系列语言中,您可以定义可以执行模式匹配的记录,例如http://learnyouahaskell.com/making-our-own-types-and-typeclasses - 基本思想是你定义一个带有命名字段的记录类型,一个构造函数被自动创建,使用这些字段作为参数,以便你可以创建该类型的记录,并且自动创建一个提取器,使用这些字段作为参数,以便你可以进行模式匹配在这种类型的记录上。

Scala 更进一步,允许存储在记录中的字段、构造函数参数和提取器参数彼此解耦,例如http://daily-scala.blogspot.com/2009/11/overloaded-unapply.html - 在这方面,它实现了支持面向对象和函数式编程的目标。 (当然,面向对象的语言通常允许将存储的字段和构造函数参数解耦,尽管它们通常没有提取器。)

是否有其他语言具有模式匹配并允许这种解耦?

有没有关于这种脱钩的利弊的文章?

最佳答案

我承认我没有 100% 的背景知识来理解您的问题,但我可以说 F# 有一个名为“Active Patterns”的功能,它似乎可以用来构建与您的 daily-scala 相同的功能。链接演示。

那是在您要找的附近吗?

关于带有重载提取器的 Scala 语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com