Skip to content

Instantly share code, notes, and snippets.

@GrzegorzDyrda
Last active June 30, 2017 06:23
Show Gist options
  • Save GrzegorzDyrda/b89b6b5375aa230fb82b28447da0b4e1 to your computer and use it in GitHub Desktop.
Save GrzegorzDyrda/b89b6b5375aa230fb82b28447da0b4e1 to your computer and use it in GitHub Desktop.
Functional Kotlin

Functional Kotlin - przykłady programowania funkcyjnego w Kotlinie

by Grzegorz Dyrda (@grzegorzdyrda)


1. Funkcja zwracająca funkcję

Poniższa konstrukcja jest zupełnie poprawna:

val prefixer = fun(prefix: String) = fun(str: String) = prefix + str

prefixer jest funkcją która przyjmuje Stringa, a zwraca inną funkcję, która z kolei przyjmuje String i zwraca String. Myśl tak: prefixer to "generyczna" funkcja dodająca "coś" to str. To "coś" zostanie dookreślone w konkretnej implementacji.

Implementację prefixera tworzymy tak:

val prefixWithXYZ = prefixer("XYZ")

I potem używamy tak:

val result = prefixWithXYZ("kotlin")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment