Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala中是否使用了具有多个参数的隐式函数?_Scala - Fatal编程技术网

Scala中是否使用了具有多个参数的隐式函数?

Scala中是否使用了具有多个参数的隐式函数?,scala,Scala,允许使用具有多个参数的隐式函数,即: implicit def it(path: String, category: String):Iterator[String] = ... 但是Scala编译器能用它做些有用的事情吗?如果没有,它为什么不抱怨呢?是的,如果你要求这样一个隐式的函数,编译器可以对它做一些事情 def f(implicit ev: (String, String) => Iterator[String]) = ... 很棒的scala,如果不是作为隐式转换器,那么作为

允许使用具有多个参数的隐式函数,即:

implicit def it(path: String, category: String):Iterator[String] = ...

但是Scala编译器能用它做些有用的事情吗?如果没有,它为什么不抱怨呢?

是的,如果你要求这样一个隐式的函数,编译器可以对它做一些事情

def f(implicit ev: (String, String) => Iterator[String]) = ...

很棒的scala,如果不是作为隐式转换器,那么作为隐式参数)@yura如果你研究scala语言规范,你会发现这两件事实际上是统一的。查找从
A
B
的隐式转换相当于查找
A=>B
类型的隐式参数。所以隐式转换和隐式参数基本上是一样的。