5
Chciałbym napisać funkcję "toSource", która wygeneruje kod źródłowy dla podstawowych klas przypadków. Na przykład, chciałbym:Scala: Nadpisanie toString, więc cytaty są drukowane wokół ciągów znaków
case class Person(name: String, age: Int)
val bob = Person("Bob", 20)
println(toSource(bob)) // Should print """Person("Bob", 20)"""
Funkcja „toString” prawie daje mi to, co chcę, ale to krople cudzysłowy wokół ciągi:
println(bob.toString) // Prints """Person(Bob, 20)"""
Jakieś pomysły jak to zrobić?
który działa! I może być stworzony do pracy z zagnieżdżonymi klasami przypadków przez dodanie kolejnej sprawy: "case p: Product => toSource (p)" – emchristiansen
Chciałbym, jeśli jest jakaś magiczna flaga kompilatora lub coś, co uczyni to domyślnym zachowaniem , wtedy można odróżnić 'Set()' i 'Set (" ")' – samthebest