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+
Kolejną instrukcją warunkową którą należy znać
jest instrukcja case możemy sobie stworzyć zmienną która
przechowuje jakiś kraj za pomocą skrótu jego czyli
country na przykład będziemy mieć francję chciałabym
sobie zrobić taki kod w którym mogę dać country code
a dostanę na przykład powitanie w różnym języku czyli
będę miała country france czy fr i
będę mieć teraz kolejne przypadki no czyli case bardzo ładnie
po angielsku wszystko jasne country nasza zmienna a następnie
co ma się stać dla różnych wartości czyli when country ma
na przykład pl chce mu wyświetlić czy użytkownikowi
po prostu dzień dobry jeżeli
nasz użytkownik przychodzi do nas z wielkiej brytanii raczej
powinien usłyszeć good morning a
w przypadku kiedy nasz użytkownik przyjdzie właśnie ze wspomnionej francji
pokażemy mu bonjour bon-żur
i oczywiście kończymy endem żeby ruby wiedział
że od case do end ma do wykonania jakieś
zadanie zobaczmy jak to wygląda kiedy
uruchamię kod control s zapisuje to
pojawia mi się rzeczywiście bonjour jeżeli podam
tutaj kod pl ten kod wykonam zapisuje wykonuje
pojawił się nam dzień dobry może podam jakiś kod
którego nie ma na przykład kod hongkongu hk nie ma takiego
kodu więc nic nam się nie wyświetli możemy spróbować zrobić else w miarę międzynarodowo
możemy użyć po prostu puts hello
i teraz kiedy nie znamy danego kodu możemy
użyć hello jest dosyć bezpieczne bo w większości języków użytkownicy zrozumieją
że ich po prostu witamy zmieńmy może
trochę ten kod na taki który będzie może wyświetlał
jakieś proste menu zróbmy sobie że będziemy brać od użytkownika
choice albo na razie ustawimy go sobie na sztywno i
w zależności od tego wypadku znowu wykorzystamy case żebyście
się mogli opatrzyć choice nasza zmienna i znowu
przypadki kiedy użytkownik wybierze sobie po prostu jedynkę chcemy
żeby zobaczył zacznij czy
tam może start game zostańmy przy angielskim start game
na kolejnym etapie chcemy żeby zobaczył przy dwójce
może napis save game kiedy
użytkownik wpiszę trójeczkę to dostanie
może check shop i
na końcu jakiś end bo musimy zamknąć tutaj case
teraz kiedy wykonam ten kod jak pewnie zauważyliście
a może i nie nie mam tu żadnych puts więc generalnie nic nam się nie wykona zapisuje
robię control r i rzeczywiście nic się nie wykonuje dlaczego
dlatego że mamy tu same stringi a nie mamy żadnego przypisania żadnego puta który
by nam pokazał możemy tu podać jakąś zmienną czyli na przykład do naszego
when podam jakąś zmienną a user
choice i teraz dla
porządku tylko sobie ten kod wetnę żeby był ładny czytelny oczywiście
nie przy when tylko przy case muszę przypisać zrobić przypisanie case
to no i wszystkie when dobrze by było żeby były
równo czy tam blisko wcięte przy case
żeby wynik był oczywisty i teraz mogę pod koniec wyświetlić
efekt prostu tu zmienną puts user
choice no to sprawdźmy kiedy wykonałam
ten kod pojawiło mi się start game ponieważ ustawiłam na sztywno jedynkę
ale oczywiście mogę wziąć od użytkownika za pomocą gets chomp
tu i bo pamiętamy musimy na integer tu mamy wartości
liczb całkowitych wykonamy sobie kiedy uruchomię
komputer czeka nie dałam żadnego napisu więc tego nie widać ale
tutaj mamy żółty prostokąt który czeka na jakąś liczbę dam sobie
dwójeczkę save game jeżeli uruchomię ponownie
i dam liczbę która nie istnieje na przykład zero to widzicie
jak puts pokazuje mi w pustą przestrzeń jak pewnie się domyślacie jeżeli
użyję metody p to pojawi mi się po prostu w takim
wypadku nieistniejącej liczby nil możemy
też tą naszą grę troszeczkę rozbudować załóżmy
że ta gra czy to menu nie będzie już teraz jakąś
tam grą tylko nie będziemy mieli gry tylko będzie jakąś bardzo prostą
wręcz głupią grą która losuje nam jakiś happy number to user
choice zmienię na happy number to
też sobie ładnie cofnę te wcięcia teraz wszystko jest ładnie w jednej linii tu
też sobie zmienię na happy number no i teraz co
chciałabym żeby użytkownik podał mi jakąś liczbę w zakresie
od 1 powiedzmy do 100 i w zależności od tego co poda wyświetlę
mu jakiś komunikat załóżmy że od 1 do 30 wyświetlę
mu komentarz you're so happy jeżeli
będzie od 31 do
60 to użytkownikowi chcę wyświetlić
na przykład have a nice day to będzie
bardzo pozytywna gra no
i od 61 do 90
na przykład może niech będzie it's
your time taki trochę kołczingowy a
w przeciwnym wypadku czyli od 91 do 100 czy tam
do jakiejkolwiek wartości oczywiście użytkownik nam nie poda o albo zrobimy
sobie do 100 tutaj a jak użytkownik poda inny niż 100 niech
będzie hahaha i tu poprosimy
użytkownika o to by podał rzeczywiście puts
give number 1 do 100 i
teraz kiedy wykonam ten kod podam na przykład 25
pojawia mi się your so happy znowu wykonam podam 35
have a nice day i jeszcze
podam tutaj 79 i
na koniec podam liczbę jakąś większą niż zakres który chciałam
czyli niech to będzie 1000 i wyświetli się hahaha w
ten sposób udało nam się stworzyć bardzo proste menu do obsługi naprawdę
głupiej podstawowej gry mam nadzieję że case wydał wam
się przyjemny i będziecie z niego mogli w przyszłości korzystać
case_3 · 3 min
puts "Give number 1-100"
choice = gets.chomp.to_i
happy_num = case choice
when 1..30
"You're so happy"
when 31..60
"Have a nice day"
when 61..100
"It's your time"
else
"Hahaha"
end
p happy_numcase_2 · 2 min
choice = gets.chomp.to_i
user_choice = case choice
when 1
"Start game"
when 2
"Save game"
when 3
"Check shop"
end
puts user_choicecase_1 · 1 min
country = "HK"
case country
when "PL"
puts "Dzien dobry"
when "UK"
puts "Good morning"
when "FR"
puts "Bonjour"
else
puts "Hello"
endcase_0
country = "FR"
case country
when "PL"
puts "Dzien dobry"
when "UK"
puts "Good morning"
when "FR"
puts "Bonjour"
end