Przegląd projektu
Część sekcji Logika i przepływ programu ścieżki Ruby w Coddy. Lekcja 48 z 56.
Zbudujesz mały system ewidencji uczniów jako zestaw metod, które korzystają z jednego zagnieżdżonego hasza. Ma inną strukturę niż Library Manager — tym razem bez pętli menu, tylko funkcje, które będziesz rozbudowywać.
Stan jest przechowywany w pojedynczym haszu najwyższego poziomu:
student_records = {}Każdy wpis będzie indeksowany nazwą, a wartość skrótu będzie zawierać wiek ucznia, oceny i kursy:
{
"Alice" => { age: 20, grades: [], courses: ["Math", "Physics"] }
}Każda lekcja dodaje jedną metodę, która działa na tym haszu: add_student, add_grade, average_grade, list_by_course, top_students.
Wyzwanie
PoczątkującyZainicjuj pusty hash o nazwie student_records na początku pliku. Następnie wyświetl go za pomocą inspect, aby test zobaczył:
{}To całe zadanie — ta lekcja jedynie przygotowuje wspólny stan dla wszystkiego, co nastąpi później.
Spróbuj swoich sił
# TODO: zainicjalizuj student_records = {} i wyświetl je za pomocą inspect
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków w szczegółach
Przegląd metod łańcuchów znakówInterpolacja łańcuchów znakówIterowanie po łańcuchach znakówDzielenie i łączeniePowtórka – Tkacz łańcuchów znaków4Bloki, procki i lambdy
Czym jest blok?do..end a nawiasy klamroweSłowo kluczowe yieldParametry blokuProcki i lambdyPodsumowanie — własny iterator7Hashe, część 2
Hash.new z wartościami domyślnymiIterowanie po haszachZagnieżdżone haszeŁączenie i przekształcaniePowtórka — licznik częstotliwości10Projekt – ewidencja uczniów
Przegląd projektuDodawanie ucznia5Potęga Enumerable
Select i RejectŁączenie wywołań mapReduce / Injectcount, all?, any?, none?group_by i partitionsort_by, min_by, max_byPodsumowanie — potok danych8Zaawansowane podejmowanie decyzji
case z klasami i wyrażeniami regularnymiwhen z wieloma wartościamiOperator trójargumentowyInline if / unlessPowtórka – klasyfikator ocenPoćwicz samodzielnie: Kompilator Ruby online