Posted at

配列を展開して可変長引数に引き渡す

More than 1 year has passed since last update.

メモがてら。リストの先頭に何か足したリストを生成するのを、いみゅーたぶるにどうしたら良いのかな、

listOfに配列を展開して渡せるものだろうか、と思っていたら、

さらりと spread operator って書いてあった。


When we call a vararg-function, we can pass arguments one-by-one, e.g. asList(1, 2, 3), or, if we already have an array and want to pass its contents to the function, we use the spread operator (prefix the array with *):

val a = arrayOf(1, 2, 3)

val list = asList(-1, 0, *a, 4)

Functions - Kotlin Programming Language


コンスタラクタで受け取った可変長引数のリストの先頭に固定のprefixを足したくて探したのだけど、

class Sample(vararg components: String) {

private val PREFIX = "prefix"
private val components = listOf(PREFIX, *components)
}

で、いけた。なるほど。