【发布时间】:2015-10-27 12:04:25
【问题描述】:
我用 Scala 编写了一个简单的代码,将 Function1 隐式转换为某个案例类。
object MyApp extends App{
case class FunctionContainer(val function:AnyRef)
implicit def cast(function1: Int => String):FunctionContainer = new FunctionContainer(function1)
def someFunction(i:Int):String = "someString"
def abc(f : FunctionContainer):String = "abc"
println(abc(someFunction))
}
但它不起作用。编译器不想将 someFunction 作为参数传递给 abc。我可以猜到它的原因,但不知道它为什么不起作用。
【问题讨论】:
-
查看this question了解Scala中方法和函数的区别。