Geert
person.copy { Person.names.last transform { it.replaceFirstChar(Char::uppercase) } }
last
Alejandro Serrano.Mena
Optional
fun <A> last(): Optional<List<A>, A> = Optional( getOption = { it.lastOrNull().toOption() }, set = { lst, elt -> if (lst.isEmpty()) lst else lst.dropLast(1) + listOf(elt) } ) fun <A, B> Optional<A, List<B>>.last(): Optional<A, B> = this compose Optional( getOption = { it.lastOrNull().toOption() }, set = { lst, elt -> if (lst.isEmpty()) lst else lst.dropLast(1) + listOf(elt) } )
A modern programming language that makes developers happier.