#7 - to NIC nie znaczy
🏋️

#7 - to NIC nie znaczy

Tags
devChallenge 22
Published
December 9, 2022
Author
Jarosław Michalik
Nothing. Czyli nic? Niekoniecznie. W Kotlinie Nothing to specjalny typ, który ma prywatny konstruktor i… No właśnie i co?
 
package kotlin public class Nothing private constructor()
 

Rozwiązanie #6

Zadaniem było z liczby naturalnej zrobienie listy z cyframi tej liczby po kolei:
// input: 123L // output: listOf(1,2,3) fun solve(input: Long): List<Int> { return input.toString().map { it.digitToInt() } }
Co się tutaj dzieje?
  1. input.toString() → zamieniamy liczba teraz jest stringiem
  1. input.toString().map() → ale jak to map{} na Stringu? Możemy to zrobić, ponieważ String jest CharSequence. Przez ten charsequence możemy przeiterować.
  1. Mapujemy każdy element charsequence na inta… i zwracamy całość.
 

Ale czemu funkcją digitToInt()?

Gdy zamienimy każdy konkretny char z list listOf(’1’, ‘2’, ‘3’) na inty wprost – dostaniemy listOf(49, 50, 51). Zgadza się. Pierwsza liczba w tabelach ASCII jest na pozycji 48:
notion image
 
Także albo dokonujemy konwersji ręcznie, albo używamy funkcji extension Char.digitToInt() która zrobi to już za nas.