chunked
fun CharSequence.chunked(size: Int): List<String>
Разбивает эту последовательность символов на список строк, каждая из которых не превышает заданного размера.
Последняя строка в результирующем списке может содержать меньше символов, чем заданный размер.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val dnaFragment = "ATTCGCGGCCGCCAA"
val codons = dnaFragment.chunked(3)
println(codons) // [ATT, CGC, GGC, CGC, CAA]
//sampleEnd
}Параметры
size - количество элементов для взятия в каждой строке, должно быть положительным и может быть больше, чем количество элементов в этой последовательности символов.
fun <R> CharSequence.chunked( size: Int, transform: (CharSequence) -> R ): List<R>
Разбивает эту последовательность символов на несколько последовательностей символов, каждая из которых не превышает заданного размера, и применяет заданную функцию преобразования к каждой из них.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val codonTable = mapOf("ATT" to "Isoleucine", "CAA" to "Glutamine", "CGC" to "Arginine", "GGC" to "Glycine")
val dnaFragment = "ATTCGCGGCCGCCAA"
val proteins = dnaFragment.chunked(3) { codon: CharSequence -> codonTable[codon.toString()] ?: error("Unknown codon") }
println(proteins) // [Isoleucine, Arginine, Glycine, Arginine, Glutamine]
//sampleEnd
}Параметры
size - количество элементов для взятия в каждой последовательности символов, должно быть положительным и может быть больше, чем количество элементов в этой последовательности символов.
Возвращаемое значение
список результатов применения функции преобразования к каждой последовательности символов.
Обратите внимание, что последовательность символов, переданная функции преобразования, является временной и действительна только внутри этой функции. Вы не должны хранить ее или позволять ей каким-либо образом выходить за пределы функции, если вы не сделали ее моментальную копию. Последняя последовательность символов может содержать меньше символов, чем заданный размер.
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/chunked.html