od Podstaw
5 godz. 10 min · Ruby · Full-stack i Programowanie
Małgorzata ŁyczywekSoftware engineerW pierwszych lekcjach Kursu przejdziemy do omówienia konfiguracji środowiska, by następnie poznać tryb interaktywny Rubiego. Stworzymy pierwsze programy oraz poznamy składnię języka. Dowiesz się między innymi tego, czym są zmienne, jakie istnieją typy danych, jak przekazywać własne dane do programu i jak na nich operować.
Programy oraz instrukcje potrafią w znaczny sposób przyspieszyć i ułatwić pracę w Ruby. Mogą wykonywać za nas powtarzające się czynności i podejmować decyzje. Dlatego też kolejnym, naturalnym krokiem nauki języka Ruby jest poznanie struktur sterujących kodem, takich jak instrukcje warunkowe if, case, pętle while, until, for, each czy inne iteratory.
W kolejnych lekcjach poznasz następne, bardziej rozbudowane zagadnienia. Będziemy korzystać z zaawansowanych struktur danych i metod, jakie możemy na nich wykonywać. Są to metody wbudowane, a więc dostępne domyślnie w Ruby. Przejdziemy do pisania własnych metod dbając, by nasz kod był zgodny z regułą DRY. Poznamy zagadnienia związane ze strukturami specyficznymi dla języka Ruby a także praktykami, jakie są w tym języku stosowane.
Dane do programów najczęściej dotaczane są z zewnętrznego źródła, jak na przykład pobierane z pliku. Przekonasz się jak wykonywać operację na plikach w Ruby - odczytywać, zapisywać, a także w jaki sposób radzić sobie z dużymi plikami w wydajny sposób. Dowiemy się również co zrobić, gdy nasz program spotka niespodziewany błąd. Zajmiemy się przewidywaniem i zapobieganiem błędów w kodzie.
Kolejna, najbardziej obszerna część kursu to dokładne omówienie podstaw paradygmatu programowania obiektowego. Nawet jeżeli wydaje Ci się to bardzo skomplikowane - niedługo wszystko stanie się jasne. Programowanie obiektowe pozwala nam na lepsze odwzorowanie rzeczywistości, czyli tworzenie bardziej praktycznego kodu. Przyjrzymy się jak obiektowość jest realizowana w Ruby oraz jak tworzyć obiekty, klasy i jakich zasad warto przestrzegać. Na koniec dowiemy się jak rozszerzać funkcjonalność istniejących klas za pomocą modułów.
Ten kurs został przygotowany z myślą o wszystkich, którzy chcą zacząć naukę programowania Ruby od podstaw. Stworzono go szczególnie dla osób, które z pisaniem kodu nie miały jeszcze styczności. Nie jest wymagana żadna wcześniejsza wiedza na temat programowania. Jeśli chcesz szybko nauczyć się programowania i myślisz, że twoim kierunkiem jest tworzenie aplikacji webowych, to Ruby jest świetnym wyborem na start.
2.6+
Kiedy przyglądamy się naszej klasie student zrobiła się ona
dość długa mamy name name do
ustawienia name do wyświetlenia i tak dalej i tak dalej no generalnie bardzo
ta klasa zrobiła się nieczytelna i właściwie zaczyna nam się bardzo wydłużać
w takim razie przydałyby nam się akcesory
coś co pozwoli skrócić nasz kod tak by ten kod był
dry czyli chcemy żeby on był don't reapeat yourself jak najprostszy
korzystajmy z pierwszego ogólnego akcesora attr accessor
i możemy tutaj podać kolejne symbole odpowiadające
symbolom do których chcemy mieć dostęp last jeszcze
age i email w
tym momencie ten accessor zastępuje nam i getter i setter ponieważ
wie że mamy dostać się do atrybutu name i nadać mu
wartość którą tu zaktualizuje albo wyświetli czyli
tutaj ten kawałek kodu mogę usunąć i ten tutaj dotyczący
wieku e-maila również zobaczcie jak
nam się ładnie skróciła teraz właściwie widzimy całą naszą klasę student
znowu na jednym ekranie mogę pokazać wam
że jeśli poproszę johna o imię to to imię się tutaj wyświetli tutaj
accessor i przecinka
zapomniałam okej i teraz widzimy że
wyświetlił nam się tutaj john po prostu albo
tu robiłam literówkę i pokazywałam że i to też wykorzystam że mogę zrobić john
kropka name równa się nowy
string john i teraz puts john
name name i john
po zaktualizowaniu rzeczywiście nowy john
name widać że jest john zostało
nam jeszcze numer karty i hasło czyli je również możemy skrócić owszem
tylko że potrzebujemy innego accessora ten generuje i getter i setter a
potrzebujemy takich które zwróci nam tylko getter albo
tylko setter pierwszy
z nich to będzie attr reader czy pozwala
nam tylko odczytywać reader metoda tylko i wyłącznie gettera
czyli zrobię sobie atrybut numer karty czyli
number card mam i mogę w ten sposób pozbyć się tej metody
zobaczcie nadal mogę numer karty wyświetlić czyli tu
sobie johna usunę inne rzeczy żeby było wyraźnie widać tutaj
numer karty i po wygenerowaniu zobaczę
tylko i wyłącznie numer karty dla naszego johna no
to teraz co z tym passwordem co z naszym hasłem zróbmy tak atrybut
podkreślnik writer i
teraz jeśli podamy tutaj symbol hasła wiemy
że nasz atrybut ma tylko i wyłącznie zapisywać hasło
i nie pozwalać na jego odczyt to zróbmy tak puts
password aha
nie można wykonać tej metody ale
spokojnie mogę ją zaktualizować zaktualizuj
moje hasło podając jakieś nowe secret password
i tutaj już błędu nie będzie bo atrybut writer pozwala
na dostęp to jeszcze na koniec sobie wyświetlmy nasz obiekt i
widzimy nasz obiekt który ma ten numer karty university
i tak dalej czyli udało nam się tą naszą na początku
bardzo długą metodę klasę która
miała wiele metod zaktualizować tak by przejść do zupełnego minimum
możemy sobie jeszcze na koniec dodać dodatkową metodę instancji
która nie ma żadnej specjalnej nazwy tak jak nasza metoda instancji show
i na przykład sprawdzi czy naszemu użytkownikowi przysługują zniżki
z tytułu bycia studentem to sobie utworzę taką metodę discount która
nie przyjmuję żadnego parametru bo tutaj istnieje sobie wewnątrz klasy i
mogę sprawdzić czy użytkownikowi przepadają zniżki
to ja zrobię tak po prostu sprawdzę czy wiek
jest większy od 26 jeśli
jest większy od 26 to niestety nie będzie mieć tych zniżek
więc mogłabym zrobić takiego guarda który zwróci nam return na
przykład minus 20% jeżeli
użytkownik jest powyżej tego wieku czyli
tutaj sprawdzam że jeśli jest powyżej to w przeciwnym razie przejdzie
czyli ja zrobię tu unless tak czyli przydziel minus 25
jeśli nie jest w wieku powyżej 20 a w przeciwnym
wypadku tutaj musimy jakiś komunikat dać że sorry
no discount i teraz mogę
sprawdzić że mój john wywołam
na nim metodę discount i zobaczę czy
należą mu się zniżki owszem jego wiek to
23 więc uzyska minus 20% zniżki
z tytułu bycia studentem mam nadzieję że do tej pory wszystko
co było jest w miarę zrozumiałe wszystko dotyczyło tylko i wyłącznie naszego
obiektu naszego wystąpienia instancji oraz zmiennych które do
instancji należą