## Giriş

Bu tamamlaması 20 dakikadan fazla vakit almayacak küçük bir Ruby
eğitmenidir. Halihazırda Ruby’nin sisteminizde kurulu olduğunu kabul
eder. (eğer Ruby bilgisayarınızda yüklü değilse başlamadan önce
[kurun][installation].)

## İnteraktif Ruby

Ruby kendisine girdiğiniz her Ruby satırının sonucunu gösteren bir
programla beraber gelir. Ruby ile etkileşimli bir oturumda oynamak bu
dili öğrenmek için dehşet verici bir yoldur.

IRB’i açın (Interactive Ruby anlamına gelir).

* Eğer **macOS** kullanıyorsanız `Terminal` açın ve yazın : `irb`,
  sonra enter basın.
* Eğer **Linux** kullanıyorsanız konsol açın ve yazın : `irb`, sonra
  enter basın.
* Eğer **Windows** kullanıyorsanız başlat menüsü Ruby bölümünden
  `Interactive Ruby` çalıştırın.

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

Tamam açıldı şimdi ne yapacağız?

Şunu yazın : `"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 Size İtaat Eder!

Ne yaptık şimdi? Dünyanın en kısa “Hello World” programını mı yazdık?
Tam olarak değil. İkinci satır sadece IRB’in yaptığı işlemin sonucunu
bildirme tekniği. Eğer ekrana “Hello World” yazdırmak istiyorsak daha
fazla birşeyler yapmalıyız:

<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’de çıktı almak için en basit bir komut. Fakat bu `=> nil` ne
oluyor ki? Bu işlevin sonucudur. `puts` her zaman Ruby’de hiçbir şeyi
ifade eden nil değerini döndürür.

## Bedava Hesap Makinası Burada

IRB basit bir hesap makinası olarak kullanılabilir:

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

Üç artı iki. Çok kolay. Peki üç *kere* iki nedir? Bunu girebileceğiniz
gibi bir önce girdiğiniz satırı yukarı tuşuna basarak tekrar
çağırabilirsiniz. Yukarı tuşuna basıp bunu test edin `+` işaretinin
üstüne gidip silin ve `*` ile değiştirin.

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

Sonra üçün karesini bulalım:

<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’de `**` “üssü” demenin yoludur. Fakat bir sayının karekökü için ne
yapmalı?

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

Tamam, bu ne demek sizce? Tahmin ederseniz dokuzun karekökü alınmış.
Haklısınız fakat daha yakından inceleyelim, en başta bu `Math` ne ?

## Modüller, Kodları Başlıklar Altında Toplar

`Math` matematik için bir dahili modüldür. Modüller Ruby’de iki hizmet
sunarlar. Bir rolü şu: benzer görevler yapan metotları bir grup başlığı
altında toplamak. `Math` içinde ayrıca `sin()` ve `tan()` gibi işlevler
de vardır.

Sonraki bir nokta işareti, nokta ne yapıyor? Nokta size mesajın
alıcısını gösteriyor. Burada mesaj `sqrt(9)` metot çağrısı, parametresi
9 olan “karekök” alma komutu.

Bu metodun cevabı `3.0` dır. Dikkat ettiyseniz sadece `3` değil. Çünkü
birçok karekök işleminin sonucu tamsayı değildir. Bu yüzden işlev kayan
noktalı bir sayı geri döndürür.

Peki bazı matematik işlemlerimizin sonucunu hatırlamak istersek? Cevabı
bir değişkene atama yaparız.

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

Bir hesap makinası için oldukça yeterli. Klasik `Hello World` mesajından
uzaklaşmaya başladık, [geri dönelim.](2/)

[installation]: /tr/documentation/installation/
