Ruby Değişken Özellikleri

Merhabalar,

Öncelikle bu kadar uzun bir süre yazı yazmak ilginç oluyor. Bir aydan fazla bir süredir, nokta koymadığım bu günlüğe birşeyler yazmak biraz yabancı geldi açıkcası.

Bu yazıyı yazmam için beni birazcıkta olsa gaza getiren sevgili Mehmet DURAN kardeşime buradan teşekkür etmek isterim.. şak şakk şakk şakk.. javaayyyyy diyorum sana Mehmet.. :)

Öncelikle bu yazıdaki konumuzu belirteyim; Ruby programlama dilinde değişkenlerin nasıl tanımlandığı ve değişkenler üzerinde tip dÖnüşümlerinin nasıl olduğu.

Ruby’de değişkenler tanımlanırken herhangi bir şekilde tip belirtmenize gerek yoktur. İsterseniz Java veya C#’da yaptığınız gibi yapabilirsiniz ama o zaman biraz ayıp olur.. yuhananırsınız.. ohaa artık diyenler olabilir. ŞÖyledir yani;

intValue = 5
strValue = 'Hobaaa'
arrValue = []
hashValue = {}
regValue = \.*\
classValue = MyClass.new

Öncelikle programlama dillerinde değişken tiplerinin dÖnüşümü ve bu tiplerin ele alınmasını iki soru altında toplanabiliriz; Bu sorular
1. Tipler arasındaki dÖnüşüm nasıl gerçekleşir?
2. Değişken üzerinde işlem yaparken tip Önemlimidir?

Öncelikle 1. soruyu ele alalım; “1. Tipler arasındaki dÖnüşüm nasıl gerçekleşir?”
El cevap: Eğer değişkeninizi bir tipten Öteki tipe hÖdÖÖ hÖdÖÖ diye gÖnderiyorsanız, kullandığınız dil dinamik tip dÖnüşümüne sahiptir demektir. Eğer hÖdÖ hÖdÖÖ diye değil de, daha efendi bir şekilde (Örnek: ‘String.valueOf(55)’) yapıyorsanız durağan tip dÖnüşümüne sahipsiniz demektir. Değişkenlerinizi bir tipten Öteki tipe değiştiremiyorsanız, ohaaa sizin o kullandığınız şey programa dili değil çin işkencesi demektir.

Programlama dillerine gÖre dinamik ve durağan tip dÖnüşümüne sahip olan diller;
Dinamik: Ruby, Python..vb.
Durağan: Java(yyyy), C#….vb.

İkinci soruyu ele alırsak; “2. Değişken üzerinde işlem yaparken tip Önemlimidir?”
El cevap: Eğer siz bir karakter ile sayiyi toplamak isterseniz veya benim bir değerim var ama inan ben bile bilmiyorum ne olduğunu Öyle yanar dÖnerli birşey işte.. (Basic’den Variant, C’den void) diyebiliyor iseniz, sizin için değişkenin tipi pekde Önemli değildir. Yani değişkenler ile değişken tipleri arasındaki bağlantı ‘zayıf’tır. Her değişkenin veya her işlemin tipi olmasına gerek yoktur, diyebilirsiniz. Ama dersenizki ‘hadeee canım, tipsiz tipsiz değişkenmi olur, tipli adamın tipsiz değişkeni olmaz’ derseniz, tüm değişkenleriniz ile değişken tipleri arasında ‘güçlü’ bir bağlantınız var demektir.

Güçlü: Ruby, Java(yyyy), C#, C++…vb.
Zayıf: C, Basic, Java(yyy)Script….vb.

Peki Ruby’de bunlar nasıl oluyor da oluryor diyeceksiniz şimdi; İşte bÖyle oluyor..;

intValue = 5
puts 5 + intValue # problem yok.
puts "5" + intValue # büüürrrstt nereye biraderr..
puts "5" * "5" # bürrsttt yok daha neler..
# bir string(a) ile numarayı(b) çarptığınızda, ruby sizin a'yi b kez tekrarlamak istediğinizi zanneder.
puts "5" * intValue # Olur, bunun ruby'de karşılığı vardır.

Kolay gelsin..!

Share