【发布时间】:2014-10-01 00:26:02
【问题描述】:
给定以下类型定义:
type Set = Int => Boolean
我可以声明一个以两种方式返回 Set 的函数
def singletonSet(elem: Int): Set =
value => value == elem
或
def singletonSet(elem: Int): Set =
Set(elem)
第二个定义使用 Scala 标准库中的 Set 而不是声明的类型,但是 Scala 是如何隐式转换为声明的类型 Set 的呢?隐式转换对我来说似乎很奇怪。
为了澄清第二个定义,我在以下有效代码中更改了类型的名称:
type SetX = Int => Boolean
def singletonSet(elem: Int): SetX =
Set(elem)
【问题讨论】:
标签: scala