Powtórka — generator liczb
Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 53 z 54.
Wyzwanie
ŁatwyNapisz funkcję createNumberGenerator, która przyjmuje count i zwraca ciąg znaków zawierający wszystkie liczby wygenerowane przez korutynę.
Utwórz korutynę, która generuje kolejno liczby, zaczynając od 1. Za każdym razem, gdy korutyna zostanie wznowiona, powinna zwrócić kolejną liczbę w sekwencji. Wznów korutynę count razy, aby zebrać wszystkie wygenerowane liczby, a następnie zwróć je jako pojedynczy ciąg znaków, w którym każda liczba znajduje się w nowym wierszu.
Logika:
- Utwórz funkcję, która używa pętli do zwracania kolejno liczb 1, 2, 3 itd.
- Opakuj tę funkcję w korutynę za pomocą
coroutine.create() - Wznów korutynę
countrazy, zbierając każdą zwróconą liczbę - Połącz wszystkie liczby, umieszczając między nimi znaki nowej linii
- Zwróć połączony ciąg znaków
Parametry:
count(liczba): liczba wartości do wygenerowania z sekwencji
Zwraca: ciąg znaków zawierający wszystkie wygenerowane liczby oddzielone znakami nowej linii (ciąg znaków). Format: 1\n2\n3
Spróbuj swoich sił
function createNumberGenerator(count)
-- Wpisz kod tutaj
end
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane iterowanie po tabelach
Iterowanie za pomocą pairs()Iterowanie za pomocą ipairs()pairs() a ipairs()Powtórka — karta postaci2Więcej funkcji biblioteki table
table.concat()Tworzenie tabel i unpack()table.sort()Sortowanie niestandardowe za pomocą funkcjiPodsumowanie — tablica najlepszych wyników5Projekt: silnik tekstowej gry przygodowej
Konfiguracja projektu: pokójŁączenie pokoi3Zaawansowane koncepcje funkcji
Zwracanie wielu wartościFunkcje wariadyczne (...)Funkcje jako wartości pierwszej klasyFunkcje anonimoweCzym jest domknięcie?Podsumowanie — prosty obsługiwacz zdarzeń6Obsługa błędów
Funkcja error()Wywołania chronione za pomocą pcall()Podsumowanie — bezpieczne dzielenie9Korutyny dla początkujących
Czym jest korutyna?Tworzenie i wznawianie korutynyWstrzymywanie za pomocą coroutine.yield()resume i yieldSprawdzanie stanu korutynyPowtórka — generator liczbPowtórka — matematyka wektorowaPoćwicz samodzielnie: Kompilator Lua online