## Вступ

Це невеликий туторіал з Ruby, який має зайняти не більше 20 хвилин.
Передбачається, що Ruby уже встановлено.
(Якщо Ruby немає на вашому комп’ютері, [встановіть][installation] його
перед початком.)

## Інтерактивний Ruby

Ruby постачається з програмою, яка показує результати будь-яких Ruby-
виразів, що ви їй передаєте. Гра з Ruby у таких інтерактивних сесіях —
чудовий спосіб вивчити мову.

Відкрийте IRB (Interactive Ruby).

* Якщо ви використовуєте **macOS**, відкрийте `Terminal` і введіть `irb`,
  потім натисніть Enter.
* Якщо ви використовуєте **Linux**, відкрийте shell і введіть `irb`,
  потім натисніть Enter.
* Якщо ви використовуєте **Windows**, відкрийте `Interactive Ruby` у
  розділі Ruby вашого меню "Пуск".

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

Гаразд, він відкритий. Що далі?

Введіть це: `"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 вас послухався!

Що щойно сталося? Невже ми написали найкоротшу у світі програму
“Hello World”? Не зовсім. Другий рядок — це лише спосіб IRB
повідомити результат останнього виразу, який він обчислив. Якщо ми
хочемо вивести “Hello World”, потрібно трохи більше:

<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` — базова команда для виведення в Ruby. Але що означає `=> nil`?
Це результат виразу. `puts` завжди повертає nil — значення Ruby, що
означає абсолютно нічого.

## Ваш безкоштовний калькулятор тут

Ми вже можемо використовувати IRB як простий калькулятор:

<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>

Три плюс два. Достатньо просто. А як щодо трьох, помножених на два?
Ви можете ввести це вручну — рядок короткий. Але ви також можете
піднятися вгору та змінити введений рядок. Натисніть **стрілку вгору**
на клавіатурі й подивіться, чи з’явиться рядок з `3+2`. Якщо так,
використайте стрілку вліво, щоб перейти відразу після `+`, а потім
натисніть Backspace, щоб замінити `+` на `*`.

<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>

Далі спробуймо три в квадраті:

<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>

У Ruby `**` означає "в степені". Але що, якщо ви хочете піти іншим
шляхом і знайти квадратний корінь із числа?

<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>

Гаразд, що це було? Якщо ви здогадалися, “обчислення квадратного кореня
із дев’яти”, ви праві. Але розгляньмо детальніше. По-перше, що таке
`Math`?

## Модулі групують код за темами

`Math` — вбудований модуль для математики. Модулі виконують дві ролі в
Ruby. Тут показана одна з них: групування схожих методів під знайомою
назвою. `Math` також містить методи на кшталт `sin()` і `tan()`.

Далі стоїть крапка. Що вона робить? Крапка — це спосіб вказати отримувача
повідомлення. А саме повідомлення — це `sqrt(9)`, що означає виклик методу
`sqrt` (скорочення від “square root”) з параметром `9`.

Результат цього виклику — значення `3.0`. Ви могли помітити, що це не
просто `3`. Це тому, що квадратний корінь числа не завжди є цілим,
тому метод завжди повертає число з плаваючою комою.

А що, якщо ми хочемо зберегти результат цих обчислень? Присвойте
результат змінній.

<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>

Як би не було зручно мати калькулятор, ми відходимо від традиційного
“Hello World”, на якому мають зосереджуватися вступні туторіали…
[тож повернімося до нього.](2/)

[installation]: /uk/documentation/installation/
