Rzutowanie typów
Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 32 z 90.
Aby przekonwertować dane wejściowe na inny typ, musimy wykonać rzutowanie.
Aby przekonwertować ciąg znaków na liczbę, napiszemy:
var = io.read()
var = tonumber(var)Lub w jednym wierszu,
var = tonumber(io.read())Jeśli dane wejściowe są liczbą, np. 5, 4, 54, wtedy var będzie przechowywać liczbę. Jeśli dane wejściowe zawierają nieprawidłową liczbę: 5ab, bb, akt itd., wtedy tonumber() zwróci nil.
Oto tabela pokazująca, jak rzutować na różne typy:
| Rzutowanie | Wyjaśnienie |
| tonumber() | Konwertuje na liczbę |
| tostring() | Konwertuje na ciąg znaków |
Ważne jest, aby używać właściwego typu, ponieważ może on wpłynąć na wynik.
Połączenie dwóch ciągów znaków da w wyniku:
"5" .. "5" = "55"
Dodanie dwóch liczb da w wyniku:
5 + 5 = 10
Wyzwanie
PoczątkującyW tym wyzwaniu będziesz pracować z wieloma danymi wejściowymi i wykonywać obliczenia.
Jak odbierać wiele danych wejściowych:
var1 = io.read() -- First input
var2 = io.read() -- Second inputTwoje zadanie:
- Odczytaj pierwszą liczbę z danych wejściowych i zapisz ją w zmiennej
- Odczytaj drugą liczbę z danych wejściowych i zapisz ją w innej zmiennej
- Przekonwertuj obie zmienne na typ number (do obliczeń numerycznych)
- Oblicz iloczyn tych dwóch liczb
- Wypisz wynik
Przykład:
Jeśli dane wejściowe to 2 i 4.5, twój program powinien wypisać 9.0
Pamiętaj: Każdy przypadek testowy zawiera dokładnie dwa dane wejściowe, jedno po drugim.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory 2: relacyjne i logiczne
Operatory równościOperatory relacyjneOperator „and”Operator „or”Operator „not”Ewaluacja z krótkim spięciemWartości prawdziwe i fałszywePodsumowanie – prosta logika7Podstawy logiki warunkowej
Instrukcja if-thenInstrukcja if-then-elseInstrukcja elseifPowtórzenie — skrzynia skarbów10Tabele, część 1: styl listy
Czym jest tabela?Tworzenie tabeliDostęp do elementów według indeksuModyfikowanie elementów według indeksuOperator długości '#'table.insert()table.remove()Powtórzenie — zarządzanie członkami drużyny13Projekt: Prosty sklep z eliksirami
Konfiguracja projektuDodawanie eliksiru2Zmienne i typy danych
Czym jest zmienna?LiczbyŁańcuchy znakówWartości logiczneWartość „nil”Funkcja type()Konwencje nazewnictwaPowtórzenie — profil postaci5Podstawowe wyjście
Wyświetlanie literałówWyświetlanie zmiennychWyświetlanie wielu wartościŁączenie ciągów znaków i zmiennychFunkcja tostring()Dane wejścioweRzutowanie typówPowtórka — raport o statusiePowtórka — do 1208Podstawy manipulacji ciągami znaków
string.len()string.upper i string.lowerstring.sub()string.rep()string.find()Podsumowanie – formatuj nazwę użytkownika3Operatory 1: Arytmetyka i konkatenacja
Operatory arytmetyczneOperator moduloOperator potęgowaniaŁączenie ciągów znakówKolejność wykonywania operatorówPowtórka – proste obliczenia6Projekt: wyświetlanie statystyk postaci
Wiadomość powitalnaDeklarowanie statystyk postaci9Podstawy funkcji
Deklarowanie funkcjiWywoływanie funkcjiFunkcje z parametramiFunkcje z wieloma parametramiInstrukcja „return”Powtórzenie — kalkulator polaPoćwicz samodzielnie: Kompilator Lua online