Ruby – zajęcia 1

Na pierwszych zajęciach zaprezentowano język Ruby. Zaczęliśmy od prostego wstępu do języka. Potem wprowadzono pojęcia dot. programowania obiektowego.

Podstawy

Żeby uruchomić interaktywnie Ruby piszemy irb. Żeby uruchomić skrypt z pliku skrypt.rb piszemy ruby skrypt.rb.

W ramach wstępu poznaliśmy metody puts i print. Metoda print drukuje na ekranie parametr, zaś puts dodatkowo stawia znak nowej linii. Poznaliśmy także najprostszą pętlę w Ruby. Oto drukowanie 10 liczb od 0 do 9 na dwa sposoby:

10.times do {|i| puts i}
10.times do |i|
  puts i
end

Była też zaprezentowana instrukcja warunkowa if:

if warunek
  wykonaj tylko, gdy warunek jest prawdziwy
end

jak i forma skrócona

instrukcja if warunek

Przykład: wypisz liczby parzyste z zakresu od 0 do 9

10.times do |liczba|
  puts liczba if liczba % 2 == 0
end

gdzie procent oznacza resztę z dzielenia.

Programowanie obiektowe

Obiekt to jakiś byt posiadający właściwości i metody. Tyle formalna definicja. Przykładem obiektu jest na przykład samochód. Samochód może być duży, mały, zielony itp. Te wszystkie cechy mogą być właściwościami.

Klasa jest w pewnym sensie synonimem słowa rodzaj. w1 i w2 są klasy Wektor, więc oznacza to, że są to byty będące rodzaju wektor – czyli w1 i w2 to wektory. Klasa w Ruby jest zapisywana w postaci:

class Nazwa
  wnętrze
end

W zaprezentowanym na zajęciach przykładzie tworzymy obiekt matematyczny wektor (para liczb). Właściwościami tego obiektu są te liczby.

Plane_Cartesian_vector

Na obrazku widzimy przykładowy wektor wraz ze współrzędnymi. Widzimy, że współrzędna x wynosi 2, zaś współrzędna y wynosi 3. Do zapisu właściwości wewnątrz klasy używamy zapisu:

@x = 2
@x = 3

Na zewnątrz klasy, chcąc ustawić to samo, używamy formy:

w.x = 2
w.x = 3

gdzie w jest nazwą wektora. Do jej działania musimy napisać

attr_accessor :x, :y

Nowy wektor tworzymy, wywołując metodę new klasy:

w = Wektor.new

Jeżeli chcemy wymusić podanie pewnych wartości (wektor nie może istnieć bez x czy y), to stosujemy tzw. konstruktor

def initialize(:x, :y)
  treść
end

Wtedy, żeby stworzyć wektor, musimy podać x i y.

w = Wektor.new(2, 3)

Ogólnie kropka służy do odwoływania się do części składowych obiektu/klasy:

puts samochod.dlugosc

Kod z zajęć

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *