Czas na kolejną część poznawania lambd! Zajrzymy za kulisy słowa "it" w języku Kotlin, sprawdzimy co ma to wspólnego z wyrażeniami lambda, a także cofniemy się do wątku z blokiem kodu "let", aby zdradzić Wam pewną tajemnicę...

"IT" W JĘZYKU KOTLIN TO "PRZEBRANIE SIĘ" ZA JEDYNY PARAMETR LAMBDY

Pisząc bardziej formalnie, chodzi o referencję pojedynczego parametru wyrażenia lambda, która ten parametr reprezentuje. Dzięki automatycznej dedukcji typu danych przez kompilator (oczywiście trzeba mu to najpierw zapewnić), możemy uniknąć podawania nazwy tego parametru i skorzystać ze słowa "it". Co nam to daje? Jeszcze większe skrócenie kodu! Choć w Javie istotnie są wyrażenia lambda, to o takim skrótowcu jak słowo "it", nie słyszałem...

PRAKTYKA

Raz kolejny zerknijcie na przykład. Zakładając, że mamy taką oto lambdę, która zwraca nam podany argument typu "Int" do kwadratu:

val square = {x : Int -> x*x}

To możemy to zapisać tak, albo tak, przy użyciu "it" w języku Kotlin:

val square : (Int) -> Int = {it*it}

OK, z tym skracaniem może być różnie, aczkolwiek spójrzcie teraz na zawartość wewnątrz klamerek! Kilkanaście znaków pięknie się skróciło do...zaledwie pięciu! Jedyny warunek jaki musicie spełnić żeby kompilator to przepuścił jest dostarczenie informacji o typie, zarówno parametrów, jak i wartości zwracanej. Dlatego też, trzeba po dwukropku zdefiniować typ lambdy w sposób jawny.

KOJARZY MI SIĘ TO Z "LET"

Słuszna uwaga! To jest ostatnia rzecz jaką mam Wam do przekazania. Za każdym razem kiedy korzystamy z "let", to de facto wprowadzamy do parametru...wyrażenie lambda z pojedynczym parametrem! To właśnie dzięki niej możemy skorzystać ze słowa "it" w języku Kotlin! Wbrew pozorom, nie jest to powiązane z samym blokiem "let", choć też tak pierwotnie przypuszczałem.

Słowo kluczowe "it" w języku Kotlin

Słowo "it" jest referencją jedynego parametru występującego w wyrażeniu lambda! Aby móc z tego skorzystać, wymagane jest dostarczenie informacji o typach parametrów i zwracanej wartości.


Więcej napisać o tym się nie da, stąd artykuł o "it" w języku Kotlin wyszedł zaskakująco mały. Mamy odfajkowaną drugą część o lambdach!

PODOBNE ARTYKUŁY