EssentyCould you please provide the French text you would like translated to Dutch?

Fragment van diverse code

map reduce

Een list van bite converteren naar een list van string en de list van string samenvatten
in een string die de concatenatie bevat. Hoe log je de verzonden request(requestBodyContent:byte[])

log.info(
    requestBodyContent!!.map { it.toInt().toChar().toString() }
        .reduce { request: String, s: String -> request + s }
)

enum en sealed classes

functionele interface en methodeverwijzing

Men kan een entiteit omzetten naar een DTO-domeinmodel met een methodeverwijzing(functionele stijl- java 8)

fun findAllByLoginNot(
        pageable:Pageable,
        login:String)
    :Page<UserDto> {
    return userDao.findAllByLoginNot(
                    pageable,
                    login).map(::fromEntity)
}

eenhttps://stackoverflow.com/a/22245383/837404[goede uitleg]

Standaardoutput vastleggen

package functional

import java.io.ByteArrayOutputStream
import java.io.PrintStream
import java.lang.System.out
import java.lang.System.setOut
import kotlin.test.AfterTest
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals


class BasicsHOF {
    private val standardOut: PrintStream? = out
    private val outputStreamCaptor = ByteArrayOutputStream()

    @BeforeTest
    fun setUp() = setOut(PrintStream(outputStreamCaptor))

    @AfterTest
    fun tearDown() = setOut(standardOut)

    @Test
    fun `three times dope`() {

        3.times { println("Hello") }

        assertEquals(
            buildString {
                repeat(3) { append("Hello\n") }
                deleteAt(length - 1)
            }, outputStreamCaptor
                .toString()
                .trim()
        )
    }

    fun Int.times(fn: () -> Unit) = (1..this).forEach { _ -> fn() }
}

Wat is het verschil in Kotlin tussen apply, run, let, also, use en with ?

Vergelijking van Kotlin-functies en gebruik van Lambda-vormen Referentie

apply

Inleiding De Kotlin-functies`apply`, run, let, also, use, et `with`bieden verschillende manieren om objecten te behandelen. Elk heeft zijn eigen gebruiksscenario’s en gedrag. Bovendien maken lambda-referentievormen het mogelijk de code leesbaarder en herbruikbaar te maken door te verwijzen naar bestaande lambda-functies.

De functie`apply`wordt gebruikt om een object te configureren tijdens zijn creatie. Het retourneert het object waarop het wordt aangeroepen.

Voorbeeld met lambda referentie :

val someObject = SomeClass().apply(::configureObject)

Voorbeeld met lambda :

val someObject = SomeClass().apply {
// configuration des propriétés de someObject
}

run

De functie`run`wordt gebruikt om een codeblok uit te voeren op een object en geeft het resultaat van het codeblok terug.

Voorbeeld met lambda referentie:

val result = someObject.run(::someFunction)

Voorbeeld met lambda :

val result = someObject.run {
// bloc de code à exécuter sur someObject
// la dernière expression est renvoyée
}

let

De functie`let`wordt gebruikt om een codeblok uit te voeren op een object en retourneert het resultaat van het codeblok.

Voorbeeld met lambda-verwijzing :

val result = someObject.let(::processObject)

Voorbeeld met lambda :

val result = someObject.let {
// bloc de code à exécuter sur someObject
// la dernière expression est renvoyée
}

ook

De functie`also`wordt gebruikt om een extra actie uit te voeren op een object en retourneert het object waarop deze methode wordt aangeroepen.

Voorbeeld met lambda-verwijzing :

someObject.also(::performAdditionalAction)

Voorbeeld met lambda :

someObject.also {
// action additionnelle sur someObject
}

utiliser

De functie`use`wordt gebruikt om te werken met bronnen die na gebruik gesloten moeten worden. Ze roept automatisch de functie aan`close`aan het einde van het blok.

Voorbeeld met lambda-referentie :

someResource.use(::useResource)

Voorbeeld met lambda:

someResource.use {
// travailler avec la ressource
}

met

De functie`with`wordt gebruikt om meerdere methoden op een object aan te roepen zonder de naam te herhalen en retourneert het resultaat van de laatste expressie.

Voorbeeld met lambda referentie :

val result = with(someObject, ::processWithObject)

(empty)

val result = with(someObject) {
// appeler des méthodes sur someObject
// la dernière expression est renvoyée
}

Door gebruik te maken van de lambda‑referentievormen of de blokken`{}`, kunt u de logica encapsuleren in aparte functies, waardoor de leesbaarheid en herbruikbaarheid van de code wordt verbeterd.

laat Functie in Kotlin

Geeft let het object terug met de uitgevoerde bijwerkingen, of in de initiële invoerstaat, afhankelijk van let?

De functie`let`In Kotlin wordt het gebruikt om bewerkingen uit te voeren op een object en een ander resultaat terug te geven. Het is echter belangrijk op te merken dat de functie`let`Het wijzigt niet de initiële staat van het object waarop het wordt aangeroepen.

Handtekening inline fun <T, R> T.let(block: (T) → R): R
gebruik De functie`let`wordt vaak gebruikt om transformaties toe te passen op een object en een resultaat te verkrijgen dat gebaseerd is op deze transformaties.
Resultaat De door de functie geretourneerde waarde`let`is het resultaat van de doorgegeven lambda-expressie, meestal het resultaat van de uitgevoerde bewerkingen op het object.
bijwerkingen Hoewel de functie`let`kan bijwerkingen hebben op het object wanneer het wordt gebruikt in de lambda-expressie, maar het wijzigt niet de initiële staat van het object zelf.

Dus, de functie`let`Het is een elegante manier om bewerkingen uit te voeren op een object terwijl een afgeleid resultaat wordt verkregen, terwijl de integriteit van het originele object behouden blijft.

Gerelateerde artikelen