🧵 Ruby'de String (Metin) Veri Tipiyle Çalışma Rehberi
Ruby’de string (metin) verileri, neredeyse her programda kullandığınız temel yapı taşlarından biridir. Bu rehberde string oluşturma, ekrana yazdırma, birleştirme (concatenation), interpolasyon, özel karakterleri yönetme ve çok satırlı metinlerle çalışmayı öğreneceksiniz.
🧠 Bu Rehberde Ne Öğreneceksiniz?
- String oluşturma (
' '," ") ve yazdırma (print / puts) farkı - String’leri değişkenlerde saklama
- Birleştirme (
+) ve interpolasyon (#{}) farkı - Özel karakterler, kaçış işaretleri (
\) ve alternatif sözdizimi - Çok satırlı string’ler (Heredoc) ve tekrar (
*) işlemleri
1️⃣ String Oluşturma ve Yazdırma
Ruby’de string’ler tek (' ') veya çift (" ") tırnakla tanımlanır:
'Bu tek tırnaklı bir stringtir.'
"Bu çift tırnaklı bir stringtir."
💬 Çift tırnak interpolasyonu (#{}) destekler, tek tırnak desteklemez.
Ekrana yazdırmak için print veya puts metotları kullanılır:
puts "Birinci satır"
puts "İkinci satır"
📄 puts her string’in sonuna otomatik yeni satır (\n) ekler.
2️⃣ String’leri Değişkenlerde Saklama
String değerleri değişkenlerde tutmak tekrar kullanılabilirliği artırır:
kullanici = "Rabisu"
sunucu = "tr1-node01"
puts "Kullanıcı: #{kullanici}"
puts "Sunucu: #{sunucu}"
3️⃣ String Birleştirme (Concatenation)
Birden fazla string’i + operatörüyle birleştirebilirsiniz:
puts "Merhaba, " + "dünya!"
Boşluk eklemek istiyorsanız:
mesaj = "Sunucu " + "aktif."
puts mesaj
⚠️ Sayı ve String Birleştirme Hatası
String ile sayıyı doğrudan birleştirirseniz hata alırsınız:
id = 42
puts "Sunucu ID: " + id
# TypeError: no implicit conversion of Integer into String
💡 Çözüm:
puts "Sunucu ID: " + id.to_s
.to_s metodu sayıyı string’e çevirir — böylece orijinal tür bozulmaz.
4️⃣ String Interpolasyonu (#{})
Ruby’de interpolasyon, değişkenleri doğrudan string içine yazmanızı sağlar (yalnızca çift tırnak içinde):
isim = "Rabisu"
sunucu = 3
puts "Hoş geldiniz #{isim}, şu anda #{sunucu} aktif sunucunuz var."
💬 Ruby, interpolasyonda sayıları otomatik string’e dönüştürür — to_s yazmanıza gerek yok.
Avantajları:
- Okunabilirlik artar
+operatörü gerektirmez- Otomatik veri tipi dönüşümü sağlar
5️⃣ Özel Karakterler (Tırnak, Apostrof, Yeni Satır)
String içinde tırnak veya kesme işareti kullanırken hata alabilirsiniz:
'Bu isn't çalışmaz.' # Hata
Çözüm 1: Alternatif tırnak kullanımı
"Bu isn't çalışır." # ✅
'Rabisu dedi ki: "Sunucu hazır!"' # ✅
Çözüm 2: Kaçış karakteri kullanma (\)
print "Rabisu dedi ki: \"Yeni sunucu oluşturun!\""
Çözüm 3: Alternatif sözdizimi (%{}, %Q{})
puts %{Rabisu dedi ki: "Sunucu #{3} saniye içinde başlatıldı!"}
Yeni satır karakteri (\n)
puts "İlk satır.\nİkinci satır."
6️⃣ Çok Satırlı String (Heredoc)
Uzun metinleri düzenli yazmak için Heredoc yapısını kullanın:
output = <<~RABISU
Değerli kullanıcı,
Bulut altyapınız başarıyla başlatıldı.
Rabisu Cloud ekibi olarak iyi çalışmalar dileriz!
RABISU
puts output
💬 <<~ biçimi, girintileri otomatik kaldırır ve interpolasyon destekler.
7️⃣ String Tekrarlama (* Operatörü)
Bir string’i belirli sayıda tekrar etmek için * kullanılır:
puts "Rabisu " * 5
# Rabisu Rabisu Rabisu Rabisu Rabisu
Basit ASCII banner örneği:
puts "=" * 20
puts "| Ruby Cloud Eğitim |"
puts "=" * 20
💬 Sıkça Sorulan Sorular (SSS)
1️⃣ Tek ve çift tırnak farkı nedir?
Çift tırnak interpolasyonu (#{}) destekler, tek tırnak desteklemez.
2️⃣ puts ve print arasındaki fark nedir?
puts yeni satıra geçer, print aynı satırda devam eder.
3️⃣ Sayılar neden to_s ile çevrilmeli?
Ruby sayıları otomatik çevirmediği için + operatöründe TypeError oluşur.
4️⃣ Kaçış karakteri nedir?
Tırnak ve özel sembolleri string içinde güvenle kullanmanızı sağlar (\", \', \\n).
5️⃣ Çok satırlı metinlerde hangi yöntem önerilir?
Heredoc (<<~END) kodu düzenli tutar ve interpolasyonu destekler.
🎯 Sonuç
Bu rehberle Ruby’de string (metin) yapısını, birleştirmeyi, interpolasyonu ve özel karakterleri doğru yönetmeyi öğrendiniz. Artık hem kullanıcı dostu hem de hatasız metin tabanlı çıktılar oluşturabilirsiniz.
💡 Deneyin: Rabisu Bulut üzerinde bir Ruby ortamı başlatarak bu örnekleri uygulayın.