Scala如何引用带隐式参数的方法

时间:2017-05-12 07:22:24

标签: scala implicit

该方法有一个隐含参数,不能作为参数引用? 在我的代码中,我创建了一个具有隐式参数的方法。有一段时间我只想把它转移到其他方法。在这个时候Scala给我错误。见下文:

case class ComplicatedSalesTaxData(baseRate: Float,isTaxHoliday: Boolean) 
def calcText(amount: Float,rate : (ComplicatedSalesTaxData) => Float ) : Float = amount * rate(ComplicatedSalesTaxData(0.06F,false))
def rate(implicit cstd:ComplicatedSalesTaxData) = {
if(cstd.isTaxHoliday) 
    cstd.baseRate
else 
    0.01F }

calcText(100F,rate) // will get error : could not find implicit value for parameter cstd: ComplicatedSalesTaxData

1 个答案:

答案 0 :(得分:2)

您必须说明确要传递参数:

calcText(100F,rate(_))