Is
Card
your own class? If so, you could create a secondary constructor:
data class Card(val term: String, val definition: String) {
constructor(pieces: List<String>) : this(pieces[0], pieces[1]) {}
}
fun main() {
println(Card("foo bar".split(" ")))
}
or a factory function:
data class Card(val term: String, val definition: String)
fun Card(pieces: List<String>) = Card(pieces[0], pieces[1])
fun main() {
println(Card("foo bar".split(" ")))
}
or a factory function in a companion object:
data class Card(val term: String, val definition: String) {
companion object {
fun newInstance(pieces: List<String>) = Card(pieces[0], pieces[1])
}
}
fun main() {
println(Card.newInstance("foo bar".split(" ")))
}