If for some reason you want it all inside a class,...
# announcements
o
If for some reason you want it all inside a class, you can use companion object and invoke:
Copy code
data class Car(val model: String, val color: String) {
    companion object {
        operator fun invoke(description: String): Car {
            val (model, color) = description.split(",")
            return Car(model, color)
        }
    }
}

fun main(args: Array<String>) {
    println(Car("ford", "black"))
    println(Car("ford,black"))
}
K 1