5
我想編寫一個「toSource」函數,它將生成基本案例類的源代碼。例如,我想:Scala:重寫toString,以便在字符串周圍打印引號
case class Person(name: String, age: Int)
val bob = Person("Bob", 20)
println(toSource(bob)) // Should print """Person("Bob", 20)"""
的「的toString」功能幾乎給我我想要的,但它也來了字符串引號:
println(bob.toString) // Prints """Person(Bob, 20)"""
任何想法如何做到這一點?
這一工程!並且可以通過添加另一個案例來處理嵌套案例類:「case p:Product => toSource(p)」 – emchristiansen
如果存在某種魔術編譯器標誌或某種使其成爲默認行爲的東西,我會喜歡它,那麼可以區分'Set()'和'Set(「」)' – samthebest