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+
Zostały nam jeszcze metody klasy znaczy takie metody które
są właściwe tak jak nasza zmienna klasy tak te
metody są dla całej danej klasy student w przeciwieństwie do metod instancji
którym tylko podawaliśmy nazwę metody klasy będą potrzebowały słówka
self na początku czyli załóżmy że chcę stworzyć zdefiniować
metodę opis uniwersytetu która będzie miała
najpierw self description a
następnie jakiś opis który będziemy mogli wyświetlić dla wszystkich
studentów czyli na przykład sobie stworzę tutaj
znowu interpolacją małpa małpa university nazwa
uniwersytetu na przykład is one of
the oldest in europe teraz
kiedy sobie wyświetlę tą metodę czyli zrobię p nazwa
klasy student podam metodę mojej klasy czyli
tutaj description mogę
ją wyświetlić i ona się pojawi że university
is one of the oldest in europe i teraz żeby lepiej
zrozumieć ten przykład napiszemy sobie nową klasę
która będzie mniejsza i pokaże nam więcej czyli wrócimy do naszej klasy psa
czyli znowu sobie stworzę klasę dla psa
nasz pies będzie miał w konstruktorze initialize
jakieś parametry na przykład name
my tu pozwolimy name ustawić
name równa się name będziemy
też wyświetlać na
przykład powitamy naszego psa właściwie
name i teraz
możemy sobie stworzyć przykład psa nasz pies będzie miał na imię
max tworzę dog kropka new podaję
imię psa a
następnie zrobię oczywiście wyświetlenie czyli max
kropka show ach jeszcze nie mamy atrybutu
oczywiście więc musimy zrobić akcesor który nam ten atrybut przypisze
i teraz możemy zobaczyć że powitamy hello max chcemy
też mieć zmienną globalną która zapisuje ile psów do tej pory utworzyliśmy
czyli stworzę sobie jakiś counter który
będzie na początku wyzerowany tutaj
name mi się ucięło i przy każdym tworzeniu psa chcę
ten counter zaktualizować czyli tylko dla konstruktora dla
tej metody tworzenia będziemy uruchamiać counter czyli
robimy sobie plus jeden przy każdym utworzonym psie następnie
też możemy wyświetlić stan naszego licznika czyli na przykład skorzystamy
z metody klasowej self kropka dogs
counter i możemy
zobaczyć ile psów do tej pory zostało stworzonych przez naszą
klasę tu i teraz oprócz
maxa utworzę sobie jeszcze psa alex new
alex i utworzyłam takie dwa psy
dzięki temu mogę je oczywiście wyświetlić zobaczyć że powstały
ale ja skorzystam sobie z metody naszej klasy i sprawdzę
że dog kropka dogs
counter zwróci mi ile do tej pory psów powstało czyli
uruchamiam jeszcze oczywiście muszę wyświetlić i widzimy
że powstały dwa psy stworzę sobie kolejnego psa to
będzie taki pies ze zmylonym imieniem bo psa nazwiemy kotem i
teraz ten licznik policzył nam trzy psy
Metoda klasy · 1 min
class Dog
@@counter = 0
attr_accessor :name
def initialize(name)
@name = name
@@counter += 1
end
def show
"Hello #{name}"
end
def self.dogs_counter
@@counter
end
end
max = Dog.new("Max")
alex = Dog.new("Alex")
cat = Dog.new("Cat")
p Dog.dogs_counter