String Interpolation
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 2 / 56.
Ruby, #{...} kullanarak değişkenleri ve ifadeleri doğrudan çift tırnaklı bir dizenin içine yerleştirmenize olanak tanır. Buna dize enterpolasyonu (string interpolation) denir.
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam 30 yaşında.#{...} içindeki ifade, Ruby'nin değerlendirdiği herhangi bir şey olabilir:
price = 19.5
puts "Total: $#{price * 1.2}" # Total: $23.4İnterpolasyon sadece çift tırnaklı dizgelerde çalışır. Tek tırnaklar #{...} ifadesini düz metin olarak ele alır.
x = 5
puts "x is #{x}" # x 5'tir
puts 'x is #{x}' # x #{x}'dirGörev
BaşlangıçBir isim ve bir yaş okuyun (iki satırlık girdi). Şu formatta tek bir satır yazdırın:
Hello, <name>! In 5 years you will be <age+5>.Alice ve ardından 30 girdisi için çıktı şöyledir:
Hello, Alice! In 5 years you will be 35.Kopya kağıdı
Dize enterpolasyonu, #{...} kullanarak değişkenleri/ifadeleri çift tırnaklı dizelerin içine yerleştirir:
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam 30 yaşında.
puts "Total: $#{19.5 * 1.2}" # Toplam: $23.4Tek tırnaklar #{...} ifadesini düz metin olarak ele alır — enterpolasyon yalnızca çift tırnak ile çalışır.
Kendin dene
name = gets.chomp
age = gets.to_i
# TODO: mesajı yazdırmak için dize enterpolasyonu kullanın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String Metotlarına Genel BakışString InterpolationStringler Üzerinde GezinmeSplit ve JoinÖzet - String Weaver4Bloklar, Procs ve Lambdalar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar KelimesiBlok ParametreleriProcs ve LambdalarÖzet - Özel İteratör7Hashes Bölüm 2
Varsayılan Değerlerle Hash.newHash Yapıları Üzerinde Yinelemeİç İçe Hash YapılarıBirleştirme ve DönüştürmeÖzet - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Select ve RejectMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byÖzet - Data Pipeline8İleri Seviye Karar Yapıları
Sınıflar ve Regex ile CaseÇok Değerli whenTernary OperatörüSatır İçi if / unlessÖzet - Not Sınıflandırıcı