试图跳过隐式参数列表

时间:2016-02-21 01:55:04

标签: scala implicit

我想简单而优雅地调用具有隐式参数的函数返回的函数。这不起作用:

("-->")

我已经知道发生了什么:Scala看到了prefix,并认为这是尝试显式填写隐式参数列表。我希望将其作为a参数传递,但Scala将其视为()参数。

我已经尝试了一些替代方法,比如在隐式参数列表之前放置一个空参数列表resolveA,但到目前为止,我总是因为Scala认为返回函数的参数是一次尝试而停止了填写{{1}}。

的隐含参数列表

在这里做我想做的事情的好方法是什么,即使它不如我上面尝试的语法那么好?

1 个答案:

答案 0 :(得分:3)

另一种选择是使用apply返回的String => String函数的resolveA方法。这样编译器就不会混淆参数列表,并且比编写implicltly[A]稍短。

scala> resolveA[A].apply("-->")
res3: String = --> a=A(1)