Semboller ve Dizgeler
Sembollerin ne zaman kullanılacağı
Semboller ve Dizgeler, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.
Sembol Nedir?
Sembol, başına iki nokta konularak yazılan, hafif ve değişmez bir addır; örneğin :name. Semboller çoğunlukla tanımlayıcı ve karma tablo anahtarı olarak kullanılır.
status = :active
puts status
puts status.classSemboller Değişmezdir
Dizelerin aksine semboller değiştirilemez. :hello oluşturulduktan sonra sonsuza kadar aynı kalır.
puts :hello.frozen?
puts "hello".frozen?Aynı Sembol, Aynı Nesne
Aynı sembolün her kullanımı bellekteki tek bir ortak nesneye işaret eder. Eşit olan iki dize genellikle farklı nesnelerdir.
puts :ruby.object_id == :ruby.object_id
puts "ruby".object_id == "ruby".object_idSemboller Neden Bellek Tasarrufu Sağlar?
Özdeş sembiller aynı nesneyi paylaştığından, sembolleri tekrarlanan anahtarlar olarak kullanmak bellek açısından verimlidir. Dizeler ise her seferinde yeni bir nesne oluşturur.
ids = [:a, :a, :a]
puts ids.map(&:object_id).uniq.lengthAralarında Dönüşüm
Bir dizeden sembol oluşturmak için to_sym, ters yönde dönüşüm yapmak için to_s kullanın.
word = "color"
sym = word.to_sym
puts sym
puts sym.to_s.upcaseKarma Tablo Anahtarı Olarak Semboller
Semboller, hızlı oldukları ve hiç değişmedikleri için Ruby'de en yaygın karma tablo anahtarlarıdır.
person = { name: "Ada", age: 36 }
puts person[:name]
puts person[:age]Kısa Yazım Söz Dizimi
Anahtarlar sembol olduğunda name: "Ada", :name => "Ada" ifadesinin kısa yazımıdır. Her ikisi de sembol anahtarlar oluşturur.
a = { color: "red" }
b = { :color => "red" }
puts a == bYöntem Çağrılarında Semboller
Semboller, send ve map(&:method) gibi araçlarda yöntemleri adlandırır. &:upcase biçimi, bir sembolü bloğa dönüştürür.
words = ["a", "b", "c"]
puts words.map(&:upcase).inspectDize Ne Zaman Kullanılır?
Değer görüntüleyeceğiniz, oluşturacağınız veya değiştireceğiniz veriyse, yani adlar, iletiler ve dosya içeriği için dize kullanın. Dizeler, gelişmiş metin yöntemlerine sahiptir.
greeting = "Hello"
greeting << ", world"
puts greetingSembol Ne Zaman Kullanılır?
Sabit tanımlayıcılar için, yani karma tablo anahtarları, durumlar ve seçenek adları için sembol kullanın. Semboller amacı belirtir ve yanlışlıkla değiştirilemez.
def move(direction)
puts "Moving #{direction}"
end
move(:north)Sembolleri ve Dizeleri Karşılaştırma
Aynı harflere sahip bir sembol ile dize eşit değildir. Bunlar farklı türlerdir.
puts :name == "name"
puts :name.to_s == "name"Hızlı Kontrol
Semboller hakkında neler bildiğinizi değerlendirin.
Özet
Artık aralarındaki farkı biliyorsunuz:
- Semboller değişmez ve paylaşılır; anahtarlar ve tanımlayıcılar için idealdir
- Dizeler değiştirilebilir metin verileridir
to_symveto_sile dönüştürme:a == "a"sonucu yanlıştır
Sırada: karma tablolar oluşturma ve okuma.
config = { mode: :fast }
puts config[:mode]Sıkça Sorulan Sorular
“Semboller ve Dizgeler” dersi ücretsiz mi?
Evet — “Semboller ve Dizgeler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.
“Semboller ve Dizgeler” dersinde ne öğreneceğim?
Sembollerin ne zaman kullanılacağı Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Semboller ve Dizgeler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Semboller ve Dizgeler
- Hash'ler Oluşturma ve Okuma
- Hash Yineleme
- Varsayılan Değerler ve Birleştirme