Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

Ruby Programlama Dilinin Temellerine Giriş ve İlk Adımlar

Ruby Programlama Dilinin Temellerine Giriş

Programlama dünyasına adım atanlar veya yeni bir dil öğrenmek isteyenler için Ruby, esnekliği, okunabilirliği ve geliştirici dostu yapısıyla harika bir başlangıç noktasıdır. Ruby, Japon bilgisayar bilimcisi Yukihiro "Matz" Matsumoto tarafından tasarlanmış, basit ve üretkenliği hedefleyen dinamik, açık kaynaklı bir programlama dilidir. Matz'ın amacı, programlamayı daha eğlenceli ve daha az sıkıcı hale getirmekti. Ruby, birçok farklı paradigmaya izin verir: nesne yönelimli, fonksiyonel ve imperatif programlama. Web geliştirmeden veri analizine, otomasyondan prototiplemeye kadar geniş bir yelpazede kullanılabilir. Özellikle Ruby on Rails çatısıyla web geliştirmede popülerliğini artırmıştır.

Neden Ruby Öğrenmelisiniz?
  • Okunabilirlik ve Sadeliği: Ruby kodu, neredeyse İngilizce gibi okunur. Bu, yeni başlayanlar için öğrenme eğrisini düşürür ve mevcut kod tabanını anlamayı kolaylaştırır.
  • Nesne Yönelimli Yaklaşım: Ruby'de her şey bir nesnedir. Sayılar, dizgiler, hatta "nil" bile nesnelerdir. Bu tutarlılık, nesne yönelimli programlama prensiplerini anlamayı kolaylaştırır.
  • Geliştirici Dostu: Ruby, geliştiricilerin mutlu olmasını ve hızlı kod yazmasını sağlamak üzere tasarlanmıştır. "Mutlu Programcılar" felsefesi, dilin temelini oluşturur.
  • Büyük Bir Topluluk ve Kaynaklar: Geniş ve aktif bir geliştirici topluluğu sayesinde, Ruby ile ilgili sorunlarınıza hızlıca çözüm bulabilir, kapsamlı dokümantasyon ve öğrenme kaynaklarına erişebilirsiniz.
  • Esneklik: Ruby, geliştiricilere büyük esneklik sunar. Bir işlemi yapmak için genellikle birden fazla yol vardır ve dilin yapısı, programcıların kendi yaratıcılıklarını kullanmalarına olanak tanır.

Ruby Kurulumu ve İlk Programınız
Ruby'yi kurmak oldukça basittir. Genellikle `rbenv` veya `RVM` gibi araçlar kullanarak farklı Ruby versiyonlarını yönetmek tavsiye edilir. Kurulum tamamlandıktan sonra, ilk Ruby programınızı yazmaya hazırsınız:

Kod:
# merhaba.rb
puts "Merhaba, Dünya!"

Bu kodu bir dosyaya kaydedip terminalden `ruby merhaba.rb` komutuyla çalıştırdığınızda, ekrana "Merhaba, Dünya!" yazısını göreceksiniz. Bu basit örnek, Ruby'nin ne kadar sade olabileceğinin bir göstergesidir.

Temel Veri Türleri ve Değişkenler
Ruby'de temel veri türleri şunlardır:
  • Sayılar: Tamsayılar (`Integer`) ve ondalıklı sayılar (`Float`). Örn: `10`, `3.14`.
  • Dizgiler (Strings): Karakter dizileri. Tek veya çift tırnak içinde tanımlanır. Örn: `"Merhaba"`, `'Dünya'`.
  • Diziler (Arrays): Sıralı eleman koleksiyonları. Örn: `[1, 2, 3]`, `["elma", "armut"]`.
  • Hash'ler (Hashes): Anahtar-değer çiftlerinden oluşan koleksiyonlar (diğer dillerdeki "sözlük" veya "map" benzeri). Örn: `{"ad" => "Ali", "yaş" => 30}`.
  • Semboller (Symbols): Sabit, yeniden kullanılamaz dizgiler. Daha çok dahili tanımlayıcılar için kullanılır. Örn: `:isim`, `:durum`.
  • Boolean'lar: `true` ve `false`.
  • Nil: Hiçbir şey anlamına gelir (diğer dillerdeki `null` benzeri).

Değişkenler, bir değeri depolamak için kullanılır. Ruby'de değişkenler tür belirtmeden tanımlanır ve ilk harfleri küçük olmalıdır:
Kod:
isim = "Ayşe"
yaş = 25
fiyat = 19.99
aktif = true

puts "İsim: #{isim}, Yaş: #{yaş}, Fiyat: #{fiyat}, Aktif: #{aktif}"

Operatörler
Ruby, aritmetik (`+`, `-`, `*`, `/`, `%`), karşılaştırma (`==`, `!=`, `<`, `>`, `<=`, `>=`), atama (`=`, `+=`, `-=`) ve mantıksal (`&&`, `||`, `!`) operatörlerini destekler.

Kontrol Yapıları

1. Koşullu İfadeler (`if`, `else`, `elsif`, `unless`, `case`)
Kod:
yas = 18
if yas >= 18
  puts "Ehliyet alabilirsiniz."
elsif yas >= 16
  puts "Stajyer ehliyet alabilirsiniz."
else
  puts "Ehliyet için yaşınız uygun değil."
end

# unless (if not)
hava_durumu = "yağmurlu"
unless hava_durumu == "güneşli"
  puts "Şemsiyeni almayı unutma."
end

# case
not_harf = "B"
case not_harf
when "A"
  puts "Çok iyi!"
when "B"
  puts "İyi."
when "C"
  puts "Orta."
else
  puts "Başarısız."
end

2. Döngüler (`while`, `until`, `for`, `each`)
Kod:
# while döngüsü
sayac = 0
while sayac < 5
  puts "Sayac değeri: #{sayac}"
  sayac += 1
end

# until döngüsü (while not)
sayac_until = 0
until sayac_until >= 3
  puts "Until Sayac değeri: #{sayac_until}"
  sayac_until += 1
end

# for döngüsü (genellikle each tercih edilir)
for i in 0..2
  puts "For döngüsü: #{i}"
end

# each metodu (diziler ve hashler için yaygın)
rakamlar = [10, 20, 30]
rakamlar.each do |rakam|
  puts "Rakam: #{rakam}"
end

isimler = {"birinci" => "Ali", "ikinci" => "Veli"}
isimler.each do |anahtar, deger|
  puts "#{anahtar}: #{deger}"
end

Metotlar (Methods)
Metotlar, belirli bir görevi yerine getiren kod bloklarıdır. `def` anahtar kelimesi ile tanımlanır:
Kod:
def selamlama(isim)
  return "Merhaba, #{isim}!"
end

puts selamlama("Zeynep") # Çıktı: Merhaba, Zeynep!

def toplama(a, b)
  a + b # Son ifade otomatik olarak döndürülür (return'e gerek yok)
end

sonuc = toplama(5, 3)
puts "Toplam: #{sonuc}" # Çıktı: Toplam: 8

Sınıflar ve Nesneler (Classes and Objects)
Ruby, saf bir nesne yönelimli dildir. Sınıflar, nesnelerin şablonlarıdır. Nesneler ise bu şablonlardan oluşturulan somut örneklerdir.
Kod:
class Insan
  # constructor metodu
  def initialize(ad, yas)
    @ad = ad # @ ile başlayanlar instance değişkenleridir
    @yas = yas
  end

  # getter metodu
  def bilgi_ver
    "Ad: #{@ad}, Yaş: #{@yas}"
  end

  # setter metodu (örnek)
  def yas_degistir(yeni_yas)
    @yas = yeni_yas
  end
end

# Yeni bir Insan nesnesi oluşturma
kisi1 = Insan.new("Murat", 35)
puts kisi1.bilgi_ver # Çıktı: Ad: Murat, Yaş: 35

kisi1.yas_degistir(36)
puts kisi1.bilgi_ver # Çıktı: Ad: Murat, Yaş: 36

# Başka bir Insan nesnesi
kisi2 = Insan.new("Elif", 28)
puts kisi2.bilgi_ver # Çıktı: Ad: Elif, Yaş: 28

Bloklar, Proclar ve Lambdalar
Ruby'nin en güçlü ve ayırt edici özelliklerinden biri bloklardır. Bloklar, bir metoda parametre olarak geçirilebilen adsız fonksiyonlardır.
Kod:
# Bir metoda blok geçirme örneği
def islem_yap
  puts "İşlem başladı."
  yield if block_given? # Eğer bir blok varsa onu çalıştır
  puts "İşlem bitti."
end

islem_yap do
  puts "Bu bir bloktur."
end

# Proclar (Proc objects) blokları bir nesneye dönüştürmenizi sağlar
my_proc = Proc.new { |ad| puts "Merhaba, #{ad}!" }
my_proc.call("Deniz")

# Lambdalar proclara benzer ama daha katı argüman kontrolü vardır
my_lambda = lambda { |x, y| puts "Toplam: #{x + y}" }
my_lambda.call(10, 20)

Ruby Gem'leri ve Bundler
Ruby Gem'leri, Ruby programları için paketlenmiş kütüphaneler veya modüllerdir. RubyGems, bu kütüphaneleri yönetmek için standart bir paket yöneticisidir.
Kod:
# Yeni bir gem yükleme (örneğin 'colorize' gem'i)
# gem install colorize
"Ruby'de neredeyse her şey için bir gem vardır."
- Ruby Topluluğu
Büyük projelerde bağımlılıkları yönetmek için `Bundler` kullanılır. `Gemfile` adı verilen bir dosya, projenizin tüm bağımlılıklarını listeler ve `bundle install` komutuyla bu bağımlılıkları yüklemenizi sağlar. Bu, proje ortamının herkes için tutarlı olmasını sağlar.

Sonuç ve Sonraki Adımlar
Bu giriş, Ruby programlama dilinin temel yapı taşlarını ve felsefesini anlamanız için bir başlangıç noktasıdır. Ruby'nin sade ama güçlü yapısı, özellikle web geliştirmede (Ruby on Rails ile) ve otomasyon senaryolarında büyük kolaylıklar sunar. İlk adımlarınızı attıktan sonra, daha karmaşık konulara dalmak isteyebilirsiniz:

  • Ruby on Rails: Web uygulamaları geliştirmek için popüler bir framework.
  • Test Güdümlü Geliştirme (TDD): RSpec ve Minitest gibi araçlarla test yazma.
  • Metaprogramlama: Ruby'nin kendi kodunu çalışma zamanında değiştirme yeteneği.
  • Gem Geliştirme: Kendi kütüphanelerinizi oluşturma ve paylaşma.

Unutmayın, en iyi öğrenme yolu pratik yapmaktır. Bol bol kod yazın, farklı projeler deneyin ve Ruby topluluğu ile etkileşimde bulunun. Resmi Ruby web sitesi (ruby-lang.org) ve çeşitli çevrimiçi kaynaklar, öğrenme yolculuğunuzda size rehberlik edecektir. Ruby dünyasına hoş geldiniz!
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected