Jason. Cała informatyka w jednym miejscu!

Następny krótki wątek dotyczący Kotlina. Ci, którzy śledzą moje redagowanie na bieżąco, wiedzą że wstępnie przedstawiłem ten wątek już trochę wcześniej, mianowicie w artykule o metodzie "copy" w klasach danych. Omówimy sobie teraz znacznie dokładniej do czego służą argumenty nazwane w języku Kotlin oraz jak wygląda ich programowanie w kodzie. Gorąco zachęcam do lektury!

ARGUMENTY NAZWANE W JĘZYKU KOTLIN WYDADZĄ SIĘ ZNAJOME PROGRAMISTOM PYTHONA

Termin może być elastycznie zmieniany, bo mowa tu o parametrach funkcji, a taki akurat spotkałem w książce, na podstawie której ułożyłem sobie taki zestaw artykułów do napisania. Sprawa jest prosta. Chodzi o możliwość alternatywnego wprowadzania parametrów aktualnych do funkcji, bądź konstruktora, w taki sposób że nie musimy trzymać się tej samej kolejności jaka została określona w nagłówku! Mała rzecz, a może naprawdę pomóc. Dla znawców Pythona sam mechanizm wyda się znany, bo we wspomnianym języku także to występuje. Niech za dowód posłuży chociażby ukazanie tej metody w jednym z moich wpisów. Jedyną różnicą jest to, iż w Kotlinie nie można łączyć ze sobą wprowadzania przy pomocy argumentów nazwanych z tradycyjnym wprowadzaniem po kolei. Albo tak, albo tak.

PRZYKŁAD ZASTOSOWANIA

Niech argumenty nazwane w języku Kotlin zostaną uwiecznione na przykładzie. Popatrzmy na taką sytuację. Dajmy na to, że mamy funkcję z wielgachną liczbą parametrów jakie musi przyjąć. Weźmiemy sobie tę samą, jaka została zademonstrowana podczas omawiania wartości domyślnych:

fun doSomething(x: Int, y: Int, s: String, b: Boolean) {
	
}

Same argumenty nazwane w języku Kotlin nie uchronią nas przed koniecznym podaniem wszystkich czterech wartości. To umożliwia jedynie zmianę kolejności ich wprowadzania. Przejrzyjcie sobie przykład takowego wywołania z argumentami nazwanymi:

doSomething(b = true, y = 3, x = 6, s = "Słoma")

Tak wygląda składnia. Używając TYCH SAMYCH etykiet parametrów formalnych zawartych w nagłówku funkcji, podstawiamy je wewnątrz nawiasów okrągłych, dodajemy obok znak przypisania i podajemy wartość zgodną z typem.

WARTOŚCI DOMYŚLNE Z ARGUMENTAMI NAZWANYMI

W połączeniu z wartościami domyślnymi, argumenty nazwane w języku Kotlin dają podwójną moc. Oto nagłówek funkcji z wartościami domyślnymi i jej wywołanie z argumentami nazwanymi:

fun doSomething(x: Int, y: Int, s: String = "Undefined", b: Boolean = false) {
	
}

doSomething(y = 7, x = 15)

Widzicie? Prosta sztuczka, a dzięki pozostawianiu etykiet możemy od razu dostrzec co ta wartość oznacza (w zależności od podanej nazwy wewnątrz nagłówka funkcji). To, czy dany parametr koniecznie trzeba określić, czy nie, zależy już od samej wartości domyślnej czy została tam określona. Jeśli jakiegoś będzie brakować, a nie zostanie on określony w wywołaniu przy pomocy argumentów nazwanych, kompilator Wam o tym "przypomni" błędem kompilacji. Natomiast, jak widzieliście w jednym z poprzednich artykułów, można dzięki nim "przeskoczyć" parametr niewymagający podawania konkretnej wartości, a zaraz po nim występuje parametr, który już będzie jej oczekiwał:

fun doSomething(x: Int, y: Int, s: String = "Undefined", b: Boolean) {
	
}

doSomething(x = 7, y = 99, b = true)
Argumenty nazwane w języku Kotlin

Argumenty nazwane to innymi słowy dostęp do swobodnej zmiany kolejności podawania parametrów aktualnych do wywołania funkcji.


Szybko, krótko i bezboleśnie. Tak mam nadzieję przeszliście przez ten wpis i zapamiętacie o co w nim mniej więcej chodziło.

PODOBNE ARTYKUŁY