• Hakkımızda
  • Bize Katıl
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilişim - Teknoloji - Blog
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
Yazılım Karavanı | Bilişim - Teknoloji - Blog
No Result
View All Result
Home Ruby

Ruby Kontrol Yapıları

Emre İnaç by Emre İnaç
Mart 20, 2018
in Ruby
3 min read
0
Ruby Veri Tipleri (Data Types)
WhatsApp'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşTelegram'da Paylaş

Ruby diğer modern yazılım dillerine göre çok daha basit bir kontrol yapısına sahiptir. Açıklanan tüm ifadeler geriye bir değer döndürür. Bilinmesi gereken en önemli nokta; Ruby’ de nil ve false yanlış(false), geriye kalan her şey ise  doğru(true) olarak değerlenir.

1) IF – ELSIF – ELSE Yapısı:
Öncelikle if, elsif ve else nedir bunlardan bahsedelim. IF kelime anlamı olarak şayet, eğer gibi manalara sahiptir, ELSE kelimesi ise bunların dışında anlamını taşır, ELSIF ise else if ifadesinin kısa hali yani if ve else kelimelerinin birleşimidir. Verilen durum if şartını sağlamıyor ancak elsif şartını sağlıyor olabilir. Eğer ki elsif kullanılmazsa bu durumu direkt else ile ifade ederiz. If-Elsif-Else yapısı şu şekilde kullanılır.

if koşul 1       
  durum1
elsif koşul 2
  durum2 
else
  durum3
end

Yapının kafamızda daha iyi oturması için bir örnekle inceleyecek olursak; Verilen bir sayının pozitif mi negatif mi olduğunu test eden kodu yazmayı deneyelim.

sayi = 13
  if sayi < 0 #negatifse
    puts "Sayı negatif"
  elsif sayi > 0   # pozitifse
    puts "Sayı pozitif"
  else  # geriye kalan tek durum sayı 0 ise
    puts "Sayı ne pozitif ne negatif"
  end

Yukarda kodun çıktısı verilen sayımız 13 olduğundan if şartını sağlamıyor ancak elsif şartını sağlayacak ve ekrana “Sayı pozitif” diye yazdıracaktır.

TERNARY YAPISI
Ternary yapısı if – else yapısının tek satıra optimize edilmesi durumudur. Mesela bir if – else durumu verelim ve bunu Ternary ile nasil ifade edebiliriz inceleyelim.

sayi = 10
  if sayi % 2 == 0
    sayi ** 2
  else
    sayi ** 3
  end

#=> 100
Çıktıdan da anlayacağımız gibi if ifadesindeki şart doğru olarak nitelenmiş ve if ifadesinin içerisindeki kod bloğu çalışmıştır. Yukardaki basit if -else yapısını tek satıra optimize edecek olursak;
sayi % 2 == 0   ?   sayi ** 2  :   sayi ** 3
şeklinde Ternary yapısı kullanabiliriz. Yani Ternary yapısının temeli şu şekildedir:
şart  ?  if durumu  :  else durumu

UNLESS YAPISI

Unless ifadesi Ruby’de if ifadesinin zıttı olarak kullanılır yani daha detaylı açıklarsak if ifadesi doğru(true) olan durumlarda çalışırken unless ifadesi yanlış(false) olan durumlarda çalışır.
Yukardaki örneği unless ile tekrar yazmayı deneyelim, bakalım nasıl bir sonuç çıkacak:

unless sayi % 2 == 1
  sayi ** 2
else
  sayi ** 3
end

Yazmış olduğumuz bu kodun çıktısı şu şekilde olacaktır:
=> 100

CASE YAPISI

Ruby’de case yapısı if-elsif-else yapısına bir alternatiftir. Case yapısı bir dizi sözdizimini destekleyebilir. Case yapısının nasıl kullanıldığını gösteren bir kaynak kod yazalım ve kod üzerinde inceleme yapalım.

yas = 20
 case yas
 when 15 then puts "yasiniz 20 den kucuk"
 when 20 then puts "yasiniz 20"
 when 25 then puts "yasiniz 20 den buyuk"
 end

Kodumuzun çıktısı ;  => yasiniz 20 seklinde olucaktır.

DİPNOT : Else ifadesini case yapısı ile de kullanabiliriz. Bunu içeren bir örnek de verelim;

a = "kiraz"
 case a
 when "vanilya" then "bir baharat"
 when "ispanak" then "bir sebze"
 when "kiraz" then "bir meyve"
 else  "belirlenemeyen bir sey"
 end

Kodumuzu çalıştırdığımızda a değişkeninde tuttuğumuz değer “kiraz” olduğu için case yapısı bize “bir meyve” değerini geri döndürecektir.

emreinac
SendTweet2ShareShare
Önceki Gönderi

Ruby Değişkenler ve Sabitler (Variables & Constants)

Sonraki Gönderi

Ruby Döngüler (Loops)

İlgili Yazılar

Ruby Programlama Dili Hakkında

Ruby İkili Arama Ağacı (BST)

by Ali Murat Çevik
Nisan 22, 2018
0

class BosDugum def to_a [] end def include?(*) false end def ekle(*) false end alias_method :&lt;&lt;, :ekle def incele end...

Ruby Veri Tipleri (Data Types)

Ruby Diziler (Arrays) 2. Kısım

by Emre İnaç
Nisan 14, 2018
0

Bu kısımda Ruby programlama dilinde dizilerde nasıl eleman seçebiliriz ,seçtiğimiz elemanlar üzerinde nasıl değişiklik yapabiliriz ve dizilerde yineleme işlemlerini nasıl...

Ruby Veri Tipleri (Data Types)

Ruby Diziler (Arrays) 1. Kısım

by Emre İnaç
Nisan 14, 2018
0

Ruby de diziler; herhangi bir nesnenin, tamsayı indisli koleksiyonlarıdır.  Dizilerde indisler, C ve JAVA dillerinde olduğu gibi 0 ‘dan başlar....

Ruby Veri Tipleri (Data Types)

Ruby Döngüler (Loops)

by Emre İnaç
Mart 22, 2018
0

Duruma göre bazen bir metni 10 kez yazdırmak isteyebilirsiniz. Bunu "print" komutu ile yapabilirsiniz ancak döngü kurarak yapmak daha basit...

Ruby Veri Tipleri (Data Types)

Ruby Değişkenler ve Sabitler (Variables & Constants)

by Emre İnaç
Mart 17, 2018
0

Ruby'de bir değişken, adının başındaki karakterler ile ayırt edilebilir. Değişken adı belirlerken karakter sınırlaması yoktur. 4 adet değişken türü mevcuttur....

Next Post
Ruby Veri Tipleri (Data Types)

Ruby Döngüler (Loops)

Facebook Veri Skandalı

Facebook Veri Skandalı

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  • Popüler
  • Yorumlar
  • En Yeniler
Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Temmuz 26, 2021
B Ağaçları (B Trees)

B Ağaçları (B Trees)

Ağustos 24, 2020
Splash Screen Yapımı #Flutter

Splash Screen Yapımı #Flutter

Mayıs 25, 2020
Gini Index Kullanılarak Karar Ağacının (Decision Tree)  Oluşturulması

Gini Index Kullanılarak Karar Ağacının (Decision Tree) Oluşturulması

Ağustos 20, 2020
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

6
Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

5
Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

4
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

2
VGG-19 Transfer Learning ile Görüntü Sınıflandırma

VGG-19 Transfer Learning ile Görüntü Sınıflandırma

Eylül 12, 2022
SOC Sistemler Üzerine Faydalı Notlar

SOC Sistemler Üzerine Faydalı Notlar

Eylül 2, 2022
Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Ağustos 23, 2022
Makine Öğrenimi Nedir?

Makine Öğrenimi Nedir?

Ağustos 4, 2022

Reklam

Yazılım Karavanı | Bilişim – Teknoloji – Blog

Bilgi Teknolojileri alanına meraklı herkesin buluşma noktası!

No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar

© 2020 Yazılım Karavanı Kaynak gösterilmesini rica ederiz.