La méthode ont un paramètre implicite ne peut pas être une référence en tant qu'argument? Dans mon code, je crée une méthode qui a un paramètre implicite. Quelque temps je veux juste le transférer à une autre méthode. En ce moment, Scala me donne une erreur. Voir ci-dessous:Scala comment référencer une méthode qui avec un paramètre implicite
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
où est l'instance 'implicite' de' ComplicatedSalesTaxData '? –
Tout endroit je vais le déclarer, mais pas ici. Ici, je veux juste transférer la méthode 'rate' à 'calcText' et invoquer avec un 'CompicatedSalesTaxData' qui crée dans 'calcText' – Milk