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?
- input.toString() → zamieniamy liczba teraz jest stringiem
- input.toString().map() → ale jak to
map{}
na Stringu? Możemy to zrobić, ponieważ String jestCharSequence
. Przez ten charsequence możemy przeiterować.
- 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:Także albo dokonujemy konwersji ręcznie, albo używamy funkcji extension
Char.digitToInt()
która zrobi to już za nas.