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+
Mamy naszą klasę wilk i klasę psa która dziedziczy po
wilku i chcielibyśmy nie stracić informacji które
zostały zawarte w metodzie description dla wilka podczas
gdy nadpisujemy czy dodajemy informacje dotyczące psa do
tego służy taka specjalna metoda czy specjalne słowo kluczowe super jeżeli
tutaj dodam super zapiszę to
wywołując tą metodę dla psa zrobię sobie max
description i od razu wykonam
zobaczę zarówno zdań dotyczących wilka jak i zdań
dotyczące naszego psa ponieważ w pierwszej kolejności wykona
się metoda super massive beautiful and dangerous tutaj widzimy czy to zdanie
dotyczące wilka utworzy dwa obiekty wilka więc może sobie zakomentuję jeszcze
raz uruchomię zobaczymy dwa zdania pierwsze dotyczy tego
co odziedziczyliśmy czy użyliśmy metody super żeby
pobrać najpierw z metody rodzica a potem wyświetliliśmy napis
cute and friendly oczywiście możemy tę kolejność zmienić
czyli wywołać to co mamy u nas a potem super
dostać się do tego co zawiera nasz rodzic możemy też sprawdzić
historię dziedziczenia czyli to sobie też zakomentuję
żeby nam było czyściej i tutaj utworzę
sobie do naszej klasy specjalną
metodę klasową ancestors i mogę zobaczyć że
nasz pies dziedziczy z klasy wilk która dziedziczy z object
i dalej widzimy kernel i basic object czyli widzimy
tutaj jeszcze trzy informacje dotyczące samego języka ruby możemy
też zobaczyć tylko i wyłącznie która klasa jest nadrzędną która jest klasą
rodzica więc mogę zapytać o super class widzę
że super class czyli tą klasą rodzica klasą nadrzędną jest klasa
wilk oczywiście tak samo nadal na dowolnym obiekcie
czyli na obiekcie naszego psa czyli na maxie mogę zrobić metodę
class i sprawdzić że obiekt max
dziedziczy z klasy dog warto
wiedzieć dla osób które uczą się rubiego jako kolejnego języka że
w ruby nie występuje coś takiego jak dziedziczenie wielokrotne nie możemy sobie
tutaj utworzyć kolejnej klasy kolejnej która by dziedziczyła z dwóch
różnych jest to taka ciekawostka dla tych którzy
mogą kojarzyć dziedziczenie wielokrotne z jakiegoś innego języka programowania
super keyword
class Canis
@@paw = 4
def initialize
puts 'Canis is a genus, family: Canidae'
end
def description
puts "Massive, beautiful & dangerous"
end
end
class Dog < Canis
attr_accessor :name, :age
def initialize(name, age)
@name = name
@age = age
end
def bark
'Hau' * age
end
def description
puts "Cute and friendly"
super
end
def paws
@@paw
end
end
max = Dog.new('Max', 3)
# wolf = Canis.new
# max.description
p Dog.ancestors
p Dog.superclass
p max.class