Grzegorz, , . , , , .
, :
,
data class Data(val text: String, val number: Int, val time: Long)
, , :
class Builder {
var text = "hello"
var number = 2
var time = System.currentTimeMillis()
internal fun build()
= Data(text, number, time)
}
:
fun createData(action: Builder.() -> Unit): Data {
val builder = Builder()
builder.action()
return builder.build()
}
- , , createData .
, :
val data: Data = createData {
text = "new text"
number = -1
time = 222L
}
, .
kotlin get set, , , .
, .
: , createData :
fun createData(action: Builder.() -> Unit): Data = with(Builder()) { action(); build() }.
" "