## Wprowadzenie

Poniżej znajduje się krótki tutorial, którego wykonanie nie zajmuje
więcej niż 20 minut. Tutorial zakłada, że masz już zainstalowanego
Rubiego. (Jeśli na swoim komputerze nie masz zainstalowanego Rubiego,
[pobierz](/pl/downloads/) Rubiego i zainstaluj zanim zaczniesz).

## Interaktywny Ruby (Interactive Ruby – IRB)

Otwórz IRB’a.

* Jeśli używasz **macOS** otwórz `Terminal` i wpisz `irb`, naciśnij
  enter.
* Jeśli używasz **Linux’a**, otwórz konsolę, wpisz `irb` i naciśnij
  enter.
* Jeśli używasz **Windows**, otwórz `Interactive Ruby` z zakładki Ruby
  twojego Menu Start.

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):001:0&gt;</span></code></pre></figure>

Ok, udało się otworzyć IRB’a. Co teraz?

Wpisz: `"Hello World"`

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):001:0&gt;</span><span class="w"> </span><span class="s2">"Hello World"</span>
<span class="p">=&gt;</span> <span class="s2">"Hello World"</span></code></pre></figure>

## Ruby Wykonał Polecenie!

Co się stało? Czy właśnie napisaliśmy najkrótszy na świecie program
“Hello World” ? Nie do końca. Druga linia to po prostu sposób w jaki IRB
informuje nas o wyniku ostatniego wyrażenia jakie wykonał. Jeśli chcemy
wyświetlić “Hello World” potrzebujemy troszkę więcej:

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):002:0&gt;</span><span class="w"> </span><span class="nb">puts</span> <span class="s2">"Hello World"</span>
<span class="go">Hello World
</span><span class="p">=&gt;</span> <span class="kp">nil</span></code></pre></figure>

`puts` jest poleceniem, które ogólnie rzecz biorąc wyświetla różne
rzeczy w Rubim. A co oznacza `=> nil` ? To wynik wyrażenia. `puts`
zawsze zwraca nil, nil w Rubim zawsze oznacza kompletny brak
jakiejkolwiek wartości.

## Twój Darmowy Kalkulator

Mamy już wystarczająco informacji, aby użyć IRB’a jako prostego
kalkulatora:

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):003:0&gt;</span><span class="w"> </span><span class="mi">3</span><span class="o">+</span><span class="mi">2</span>
<span class="p">=&gt;</span> <span class="mi">5</span></code></pre></figure>

Trzy plus dwa. Wystarczająco proste. Co z “trzy razy dwa” (three times
two)? Możesz to napisać, jest to wciąż bardzo krótkie, ale możesz też
cofnąć się i zmienić to co przed chwilą wpisałeś. Wciśnij
**strzałkę-w-górę** na swojej klawiaturze i zobacz czy pojawi się linią
z tekstem `3+2` . Jeśli pojawi się, wtedy możesz użyć strzałki w lewo
aby ustawić kursor zaraz za znakiem plus `+` nacisnąć klawisz backspace
i zamienić plus na `*`.

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):004:0&gt;</span><span class="w"> </span><span class="mi">3</span><span class="o">*</span><span class="mi">2</span>
<span class="p">=&gt;</span> <span class="mi">6</span></code></pre></figure>

Następnie, wypróbujmy potęgowania:

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):005:0&gt;</span><span class="w"> </span><span class="mi">3</span><span class="o">**</span><span class="mi">2</span>
<span class="p">=&gt;</span> <span class="mi">9</span></code></pre></figure>

W Rubim `**` jest sposobem zapisu potęgowania. Co jeśli chciałbyś pójść
odwrotną drogą i obliczyć pierwiastek kwadratowy danej liczby ?

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):006:0&gt;</span><span class="w"> </span><span class="no">Math</span><span class="p">.</span><span class="nf">sqrt</span><span class="p">(</span><span class="mi">9</span><span class="p">)</span>
<span class="p">=&gt;</span> <span class="mf">3.0</span></code></pre></figure>

Co przedstawia powyższa linia ? Tak, zgadza się, obliczamy tutaj
pierwiastek kwadratowy liczby 9. Przypatrzmy się temu bliżej. Po
pierwsze co oznacza `Math` ?

## Moduły, Grupuj kod pod względem tematycznym

`Math` jest wbudowanym modułem matematycznym. Moduły służą dwóm celom w
Rubim. Powyższy przykład to pierwszy cel: grupowanie podobnych metod w
odpowiednim module. `Math` zawiera również metody takie jak `sin()` czy
`tan()`.

Następnie mamy kropkę. Co robi ta kropka ? Za pomocą kropki definiujesz
odbiorcę wiadomości. Co jest wiadomością ? W naszym przykładzie
wiadomością jest `sqrt(9)` co oznacza, wywołaj metodę `sqrt`, skrót od
“square root” – pierwiastek kwadratowy z parametrem `9`.

Wynikiem tego wywołania jest wartość `3.0`. Pewnie zauważyłeś, że nie
jest to po prostu `3`. Dzieje się tak dlatego, że w większości wypadków,
pierwiastek kwadratowy jakiejś liczby nie będzie liczbą całkowitą, więc
ta metoda zawsze zwraca liczbę zmiennoprzecinkową.

Co jeśli chcialibyśmy zapamiętać wynik naszych obliczeń ? Przypiszmy
wynik do zmiennej.

<figure class="highlight"><pre><code class="language-irb" data-lang="irb"><span class="gp">irb(main):007:0&gt;</span><span class="w"> </span><span class="n">a</span> <span class="o">=</span> <span class="mi">3</span> <span class="o">**</span> <span class="mi">2</span>
<span class="p">=&gt;</span> <span class="mi">9</span>
<span class="gp">irb(main):008:0&gt;</span><span class="w"> </span><span class="n">b</span> <span class="o">=</span> <span class="mi">4</span> <span class="o">**</span> <span class="mi">2</span>
<span class="p">=&gt;</span> <span class="mi">16</span>
<span class="gp">irb(main):009:0&gt;</span><span class="w"> </span><span class="no">Math</span><span class="p">.</span><span class="nf">sqrt</span><span class="p">(</span><span class="n">a</span><span class="o">+</span><span class="n">b</span><span class="p">)</span>
<span class="p">=&gt;</span> <span class="mf">5.0</span></code></pre></figure>

Odbiegamy tutaj jednak od tradycyjnego programu “Hello World” , na
którym tutoriale dla początkujących powinny się skupiać więc [wróćmy do
tego](2/)
