【发布时间】:2012-12-07 17:08:57
【问题描述】:
在另一个答案here 中,他们给出了以下代码示例:
scala> implicitly[Int => { def min(i: Int): Any }]
res22: (Int) => AnyRef{def min(i: Int): Any} = <function1>
这在我的 scala 控制台 (2.10.0-RC2) 中不起作用。
scala> implicitly[Int => { def min(i: Int): Any }]
<console>:8: error: No implicit view available from Int => AnyRef{def min(i: Int): Any}.
implicitly[Int => { def min(i: Int): Any }]
^
scala> 12 min 11
res15: Int = 11
有什么新方法?无论如何,这种语法是什么意思?我不熟悉它——特别是{ def min(i: Int): Any } 部分,用作类型表达式。这是定义某种匿名类型吗?
我想这样做是因为当我在代码中看到隐式转换并且不知道它是从哪里导入时,我想追踪它。例如,前几天我看到一些在java.util.Date 上调用format 的代码,它没有format。我不知道转换中拉入了哪个进口。
【问题讨论】: