Podstawy

Po instalacji Ruby’iego pora zobaczyć “z czym to się je”.

Istnieją dwa podstawowe tryby pracy z Rubym. Możemy napisać program w postaci pliku tekstowego, a następnie uruchomić go za pomocą interpretera (czyli specjalnego programu, który analizuje kod i wykonuje zawarte w nim instrukcje) lub interaktywnie wpisywać polecenia w konsoli.

Pierwszy program

Naukę zaczniemy bez ogródek - napiszemy w pełni działający program. Co musimy zrobić? Przede wszystkim musimy stworzyć pusty plik tekstowy i napisać w nim kod programu.

Potrzebny nam będzie to tego edytor tekstu. Teoretycznie wystarczy do tego zwykły notatnik, który znajdziemy w każdym systemie operacyjnym. Są jednak specjalne edytory tekstu, które znacznie ułatwiają programowanie - kolorują składnie, formatują wcięcia, a niektóre nawet wyłapują błędy. Istnieje kilkadziesiąt, jeśli nie kilkaset takich edytorów - każdy programista ma swój ulubiony i ciężko wskazać najlepszy. Do nauki Ruby’iego ze względu na prostotę działania, wieloplatformowość oraz otwartą licencję polecamy program Geany.

Uzbrojeni w odpowiednie narzędzia możemy brać się do kodowania! Na początku stwórz pusty plik pod nazwą z rozszerzeniem .rb, (np. first_program.rb). Napisz w nim swój pierwszy program (póki co nie przejmuj się tym, co oznaczają poszczególne fragmenty kodu):

puts "Hello world!"

Bum! Udało się! Twój pierwszy program w Rubym jest gotowy!

Teraz uruchom swój program za pomocą specjalnego programu - interpretera. Aby to zrobić musisz wpisać w konsoli/terminalu (na systemach typu Windows program cmd (Command Prompt)) polecenie ruby ścieżka-pliku-z-programem. Np:

ruby C:\programy\first_program.rb

Jeżeli używasz Geany, wystarczy, że wciśniesz F5 z otwartym plikiem - edytor uruchomi odpowiednie polecenie za Ciebie!

Jeśli wszystko poszło tak jak trzeba powinieneś/powinnaś widzieć efekty wykonania Twojego pierwszego programu - wyświetlony napis Hello world!. Może spróbujesz napisać program, który wypisze coś innego?

Interaktywny Ruby (Interactive Ruby – IRB)

Czasami, gdy chcemy np. policzyć jakieś wyrażenie arytmetyczne, albo szybko sprawdzić jak w praktyce działa jakaś metoda, wygodniejsze od pisania skryptu może być IRB - narzędzie, które interaktywnie (“na żywo”) wykonuje wpisany kod.

Aby uruchomić IRB wystarczy wpisać w konsoli polecenie irb. Jeśli używasz systemu typu Windows i zainstalowałeś/aś Ruby’iego za pomocą RubyInstallera, możesz uruchomić IRB wybierając w menu program Interactive Ruby.

Twoim oczom powinien ukazać się następujący napis:

irb(main):001:0>

Oznacza on, że IRB jest gotowy do przetworzenia polecenia. Wpiszmy więc proste wyrażenie arytmetyczne (np. 2+2) i zatwierdźmy je enterem. Co otrzymujemy w wyniku?

irb(main):001:0> 2+2
=> 4
irb(main):002:0>

Oczywiście czwórkę. Zauważmy jednak, że jest ona poprzedzona “strzałką”. W ten sposób Ruby zwraca wynik ostatniego wyrażenia jakie przetworzył. Co więcej, poniżej otrzymaliśmy linijkę bardzo podobną do tej, która wyświetliła się po uruchomieniu IRB - mam nadzieję, że domyślasz się co to oznacza ;) Wpiszmy teraz kod, który wcześniej wpisaliśmy w pliku z rozszerzeniem .rb:

irb(main):001:0> 2+2
=> 4
irb(main):002:0> puts "Hello world!"
Hello world!
=> nil
irb(main):003:0>

Zinterpretujmy teraz to, co zrobił interpreter. Najpierw wykonał polecenie puts, które wyświetla podany w cudzysłowach tekst i przechodzi do następnej linii (o tym dlaczego w cudzysłowach - dowiesz się w następnym rozdziale). Następnie zwrócił wartość ostatniego przetworzonego wyrażenia (Wartość wyrażenia puts “cokolwiek” zawsze wynosi nil. Nil oznacza nic, pusty - o tym też dowiemy się więcej w następnym rozdziale). Na końcu widzimy linijkę oznaczającą, że możemy wpisać kolejne komendy, ale na to przyjdzie jeszcze czas. Wpiszmy exit i po wciśnięciu klawisza enter, wyjdźmy z IRB.

Kiedy IRB, a kiedy praca z plikami?

(Prawie) Każdy program można napisać zarówno w IRB jak i w postaci plików tekstowych. Wybór odpowiedniego trybu może jednak oszczędzić sporo pracy i nerwów.

W trybie interaktywnym wygodnie jest sprawdzić jak działa konkretny fragment kodu, policzyć jakieś wyrażenia arytmetyczne, czy też wykonać kilka prostych operacji, których nie zamierzamy powtarzać w przyszłości. Pracując w ten sposób musimy jednak pamiętać, że to co robimy nie zostanie zapisane po wyłączeniu IRB. Kolejną wadą tego podejścia jest fakt, że gdy przy wpisywaniu wielolinijkowego wyrażenia popełnimy literówkę - będziemy musieli wpisać je od nowa. Jeśli więc nie wykonujesz czynności wspomnianych na początku tego akapitu - dla własnej wygody pracuj na plikach.