• Hakkımızda
  • Yazı Gönder
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
  • 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ı | Bilim - Teknoloji - Mühendislik
No Result
View All Result
Home Ruby

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

Emre İnaç by Emre İnaç
Mart 17, 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’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. Bu değişken türleri şunlardır;
* Yerel Değişkenler (Local Variables)
* Durum Değişkenleri (Instance Variables)
* Sınıf Değişkenleri ( Class Variables)
* Global Değişkenler ( Global Variables)
ve bu değişken türlerine ek olarak bir de Sabitler (Constants) tipi veriler mevcut.

1) Yerel Değişkenler: İsimler verilirken küçük harfler ile başlanan veri türleridir. Bir yerel değişken sadece tanımlandığı blok içerisinde erişilir haldedir ve blok dışına çıkıldığında değişkenin de kullanım alanı dışına çıkmış oluruz. Bu sebepten yerel bir değişkeni blok dışında kullandığımız da Ruby tarafından bir hata mesajı ile uyarılmış oluruz. Örnek olarak ;
sayi = 23;
kelime = “elma”

2) Durum Değişkenleri: Bu değişkenlere isim verilirken “@” karakteri ile başlanır. Durum değişkenleri bir nesnenin bizzat kendisine aittir. Tanımlanmamış durum değişkenleri öntanımlı olarak nil değerine sahiptir. Örnek olarak;
@ogrenci

3) Sınıf Değişkenleri: Sınıf değişkenleri bir sınıfın bütün durumları tarafından paylaşılır ve @@ karakteri ile isimlendirilmeye başlanır. Örnek olarak;
@@sınıf_mevcudu

*** Önemli bir duruma değinecek olursak; Sınıf değişkenleri tanımlandığı sınıftan miras alma yoluyla oluşturulan bütün çocuk sınıflar ile de paylaşılabilir.

class Ata
  @@sinif_tipi = "Ata"
end

class Cocuk < Ata
  @@sinif_tipi = "Cocuk1"
end

class Cocuk2 < Ata
  @@sinif_tipi = "Cocuk2"
end

puts Ata.class_eval("@@sinif_tipi")
#=> "Cocuk2"
puts Cocuk1.class_eval("@@sinif_tipi")
#=> "Cocuk2"
puts Cocuk2.class_eval("@@sinif_tipi")
#=> "Cocuk2"

Görüldüğü üzere Ata sınıfında tanımlanan, @@sınıf_tipi sınıf değişkenini Ata sınıfından miras alarak olusturulan Cocuk1 ve Cocuk2 sınıflarında da kullanabildik ve hatta mevcut değerini değiştirdik. Sınıf değişkenlerinin, sadece bir kalıtım ağacında görünür olan global değişkenler gibi davranış gösterdiğini de keşfetmiş olduk.

4) Global Değişkenler: Global değişkenler programın çalışma anında her yerden erişilebilen değişkenlerdir ve isim verilirken $ karakteri ile başlanılır.
$sayici , $renk, $boy.. vs. gibi örnekler verilebilir.

SABİTLER (CONSTANTS)
Sabitler isimlendirilirken büyük harfle başlanılır. Örnek olarak bir sabit tanımlayacak olursak şu şekilde olacaktır; Ogrenciler
Bir sabitin değeri tanımlanmasından sonra değiştirilebilir, ancak Ruby bu konuda bize bir uyarı verecektir. Ruby de tanımladığımız her sınıf da ayrıca bir sabittir.
Tanımlanmamış bir sabite erişmeye çalışmak NameError istisnasına sebep olacaktır.
–> Peki Sabitlere Nasıl Erişebiliriz?

class A
  A2 = 'a2'
  class B
    def go
      A2
    end
  end
end

b_nin_durumu = A::B.new
a2 = A::A2

puts b_nin_durumu.go
puts a2

Yukardaki örnek kaynak kodumuz bize çıktı olarak;
#=> a2
#=> a2
gibi bir sonuç verecektir.

Sahte Sabitler (Pseudo Constants)
+ self : Bir durum, sınıf ya da modülü referans gösteren, mevcut metodun içeriğinin çalıştırılması
+ nil : NilClass sınıfının gösterimi, hiçbir şeyi temsil eder.
+ true : TrueClass sınıfının gösterimi , doğruyu temsil eder.
+ false : FalseClass sınıfının gösterimi, yanlışı temsil eder.

emreinac
Tags: DeğişkenlerEmre İNAÇRubySabitler
SendTweet3Share1Share
Önceki Gönderi

Ruby Veri Tipleri (Data Types)

Sonraki Gönderi

Ruby Kontrol Yapıları

İ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 Kontrol Yapıları

by Emre İnaç
Mart 20, 2018
0

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

Next Post
Ruby Veri Tipleri (Data Types)

Ruby Kontrol Yapıları

Ruby Veri Tipleri (Data Types)

Ruby Döngüler (Loops)

  • 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
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
Bubble Sort (Kabarcık Sıralama) Algoritması

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

Mayıs 18, 2018
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
Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Mart 19, 2025
Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Mart 10, 2025
Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Şubat 10, 2025
OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

Aralık 14, 2024

Reklam

Yazılım Karavanı | Bilim – Teknoloji – Mühendislik

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.