试图了解Scala中的扩展语法

苏米亚·西曼塔(Soumya Simanta)

我最近看到了以下代码,并且试图理解语法。

我不明白的是object Widget extends ((Int, String, DateTime) => Widget )一部分。有人可以解释语法以及这里发生了什么吗?

case class Widget(
  id      : Int,
  name    : String,
  created : DateTime = now
)

object Widget extends ((
  Int,
  String,
  DateTime
) => Widget) { ..... }
乔西

简单的答案是你的对象延伸的Function类型,其作为输入的类型三重IntStringDateTime并返回Widget因此,您将需要覆盖该apply(Int, String, DateTime)功能。完成此操作后,将创建一个名为的函数Widget实际上,这就是case class幕后为您实施的工具。在这种情况下,我相信你的Widget函数的对象的定义将优先于默认的case class一个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

试图了解Scala中的扩展语法

来自分类Dev

试图了解scala特征

来自分类Dev

试图了解echo $((($ 1 * 2))的语法

来自分类Dev

了解Scala中Some类型的val声明语法

来自分类Dev

试图了解AWS扩展的工作原理

来自分类Dev

试图了解线性回归代码中的Julia语法(GLM软件包)

来自分类Dev

了解Python中的语法

来自分类Dev

试图了解.net中的任务

来自分类Dev

试图了解R中的cdplot

来自分类Dev

试图了解javascript中的for循环

来自分类Dev

android的新功能-试图了解Java语法:“追加”

来自分类Dev

试图了解标准ML(ml-lex)的Lex语法

来自分类Dev

Scala:了解匿名函数语法

来自分类Dev

尝试了解Kafka Scala语法

来自分类Dev

了解Scala中的DI

来自分类Dev

试图了解Scheme中的教堂编码

来自分类Dev

试图了解pygame中参数的含义。

来自分类Dev

试图了解C#中的异步/等待

来自分类Dev

试图了解C ++ 14中的§7.2/ 6

来自分类Dev

试图了解F#中的Choice类型

来自分类Dev

试图了解JavaScript中for循环内的递归

来自分类Dev

试图了解SQL查询中的“全部除外”

来自分类Dev

试图了解mySQL中查询的EXPLAIN结果

来自分类Dev

试图了解Java中的DRY原理

来自分类Dev

试图了解我的代码中的问题

来自分类Dev

试图了解Android中触摸处理的逻辑

来自分类Dev

试图了解DAX中的CALCULATE和FILTER

来自分类Dev

试图了解示例代码中的优先顺序

来自分类Dev

试图了解示例代码中的优先顺序