Kotlin extension functions

Predstav si, že chceš manipulovať so stringom. Máš text, ktorý chceš upraviť, napríklad každé druhé písmeno chceš dať veľkým písmenom. Každé prvé bude malým. Máš takúto metódu v Stringu? Nie. Teda nie je možné zavolať napríklad: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu tempus magna. .toLowerUpper(); Takáto metóda v string neexistuje a máme chybu. Nemáme prístup k zdrojovým kódom string aby sme si to tam doplnili. No môžeme použiť fintu a tou sú exension functions. Ćo potrebujeme spraviť je napísať funkciu, ktorá nám spraví to čo požadujeme: Teraz napíšeme algoritmus: fun toLowerUpper(text: String): String{ val finalString = StringBuilder() for (i in 0 until text.length) { if (i % 2 == 0) { finalString.append(text.toLowerCase()i]) } else { finalString.append(text.toUpperCase()i]) } } return finalString.toString() } Takto je to normálna hodnota, ale ak chcem aby sa táto metóda dala používať priamo pri Stringu, tak pre názov metódy napíšeme typ a bodku teda String.: fun String.toLowerUpper(): String{ val finalString = StringBuilder() for (i in 0 until this.length) { if (i % 2 == 0) { finalString.append(this.toLowerCase()i]) } else { finalString.append(this.toUpperCase()i]) } } return finalString.toString() } Teraz nepotrebujeme parameter funkcie s názvom text. Zmažeme ho a k hodnote nad ktorou voláme metódu sa dostaneme pomocou this.: fun String.toLowerUpper(): String{ val finalString = StringBuilder() for (i in 0 until this.length) { if (i % 2 == 0) { finalString.append(this.toLowerCase()i]) } else { finalString.append(this.toUpperCase()i]) } } return finalString.toString() } A zrazu metóda ToLowerUper funguje aj takto: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu tempus magna. .toLowerUpper(); Dôležité je zapamätať si, že naše extension funkcie musia byť v tom istom projekte ako kód kde ich používame. Najnovšie články Písanie kódu – programovanie v Jave Naprogramuj si vlastnú Android aplikáciu v jazyku Kotlin Divi scroll efekty Dizajnujem web v Divi téme (WordPress) Divi najlepšia WordPress téma 9 dôvodov prečo ju používať (2020) The post Kotlin extension functions appeared first on JaroslavBeno.

prejsť na článok

ABLEREX KRONOS – RANGE EXTENSION WITH 30kVA AND 40kVA

Ablerex KRONOS is the last born of the three phase UPS family, and it’s the perfect mix between technology, performance and value for money. Ablerex has recently expanded the KRONOS range with the 30KVA and 40KVA models that can now be ordered! Thanks to

prejsť na článok

Sass How to fix: autoprefixer: end value has mixed support, consider using flex-end instead

Sass (Syntactically Awesome Style Sheets) is the most mature, stable, and powerful professional grade CSS extension language.

prejsť na článok

GRASS GIS 7.8.7 released

What’s new in a nutshell As a follow-up to the previous GRASS GIS 7.8.6 we have published the new release GRASS GIS 7.8.7 with more than 40 fixes mostly focused on the addon installation module g.extension and Python 3.10 related errors in the grap

prejsť na článok

Naprogramuj si vlastnú Android aplikáciu v jazyku Kotlin

V tvojej prvej Android aplikácii v Kotlime si spravíme aplikáciu na hod kockou. Stalo sa ti, že si hral človeče a chýbala ti kocka? Teraz ti postačí tvoja android appka. Verím, že telefón budeš mať po ruke skôr ako kocku :). Tlačidlo Layout viem

prejsť na článok

Dizajnujem web v Divi téme (WordPress)

V tomto článku nájdeš video tutoriál kde si nadizajnujeme jednoduchú stránku za pomoci WordPress témy Divi. Video je z pripravovaného kurzu, ktorý sa bude venovať práve Divi téme. Sleduj na learn2code.sk v priebehu augusta. Poď sa naučiť ako nadizajnovať

prejsť na článok