我嘗試寫一些代碼轉換的隱含參數,喜歡的隱式轉換如下: case class A()
case class B()
object B {
implicit def b2a(b: B): A = new A()
}
def foo(f: B => String) = f(new B())
def bar(implicit a: A) = "A"
foo { implicit
下Haskell的類型類和實例: class Able a where
able :: a -> Int
instance Able Int where
able x = x
通常翻譯爲斯卡拉,像這樣: trait Able[A] {
def able(a: A): Int
}
implicit object AbleInt extends Able[I
超類中的this關鍵字是否可以引用該類的子類?具體來說,我想做到以下幾點(JSON的指Play的JSON庫): abstract class A() {
def toJson[T](implicit writes: Writes[T]): JsValue = Json.toJson(this)
}
case class B(myProperty: String) extends A