3 回答

TA貢獻1921條經驗 獲得超9個贊
明智地包含諷刺!YMMV ...
路易吉的答案是完整而正確的。這只是通過舉例說明如何光榮地過度使用隱式實例來擴展它,因為它在Scala項目中經常發生。實際上,您經常甚至可以在“最佳實踐”指南之一中找到它。
object HelloWorld {
case class Text(content: String)
case class Prefix(text: String)
implicit def String2Text(content: String)(implicit prefix: Prefix) = {
Text(prefix.text + " " + content)
}
def printText(text: Text): Unit = {
println(text.content)
}
def main(args: Array[String]): Unit = {
printText("World!")
}
// Best to hide this line somewhere below a pile of completely unrelated code.
// Better yet, import its package from another distant place.
implicit val prefixLOL = Prefix("Hello")
}
添加回答
舉報