Hash Metotları
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 76 / 88.
Ruby, hash'leri daha etkili bir şekilde incelemenize ve onlarla çalışmanıza yardımcı olan birkaç yerleşik metot sunar. Bu metotlar, hash'inizin içeriği hakkındaki bilgilere hızlı erişim sağlar.
keys yöntemi, hash içindeki tüm anahtarların bir dizisini döndürür:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Çıktı: name, age, cityBenzer şekilde, values metodu tüm değerlerden oluşan bir dizi döndürür:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Çıktı: Alice, 25, ParisBelirli bir anahtarın var olup olmadığını kontrol etmek için key? veya takma adı olan has_key? yöntemini kullanın:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Çıktı: true
puts person.key?("country") # Çıktı: falselength metodu, hash'in kaç tane anahtar-değer çifti içerdiğini söyler:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Çıktı: 3Son olarak, empty? hash'in herhangi bir anahtar-değer çiftine sahip olup olmadığını kontrol eder:
data = {}
puts data.empty? # Çıktı: trueGörev
Kolayİki satırlık girdi okuyun:
key:valueformatında virgülle ayrılmış anahtar-değer çiftleri olarak temsil edilen bir hash (örneğin,name:Alice,age:25,city:Paris)- Varlığı kontrol edilecek bir anahtar (string)
Bir hash oluşturmak için ilk girdiyi ayrıştırın, ardından öğrendiğiniz hash metotlarını kullanarak aşağıdaki bilgileri her biri kendi satırında olacak şekilde yazdırın:
- Hash içindeki her bir anahtarı yazdırın (her satıra bir tane)
- Ayırıcı olarak
---yazdırın - Hash içindeki her bir değeri yazdırın (her satıra bir tane)
- Ayırıcı olarak
---yazdırın - Hash içindeki anahtar-değer çiftlerinin sayısını yazdırın
- Ayırıcı olarak
---yazdırın - Hash'in boş olup olmadığını belirten
trueveyafalseyazdırın - Ayırıcı olarak
---yazdırın - İkinci girdideki anahtarın hash içinde var olup olmadığını belirten
trueveyafalseyazdırın
Örneğin, girdiler name:Alice,age:25,city:Paris ve age ise, çıktı şöyle olmalıdır:
name
age
city
---
Alice
25
Paris
---
3
---
false
---
trueGirdiler product:Laptop,price:999 ve stock ise, çıktı şöyle olmalıdır:
product
price
---
Laptop
999
---
2
---
false
---
falseGirdiler status:active ve status ise, çıktı şöyle olmalıdır:
status
---
active
---
1
---
false
---
trueKopya kağıdı
Ruby, hash'leri incelemek ve onlarla çalışmak için yerleşik metotlar sunar:
keys metodu tüm anahtarların bir dizisini döndürür:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Çıktılar: name, age, cityvalues metodu tüm değerlerin bir dizisini döndürür:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Çıktılar: Alice, 25, Pariskey? metodu (veya takma adı olan has_key?), belirli bir anahtarın var olup olmadığını kontrol eder:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Çıktılar: true
puts person.key?("country") # Çıktılar: falselength metodu anahtar-değer çiftlerinin sayısını döndürür:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Çıktılar: 3empty? metodu hash'in herhangi bir çift içerip içermediğini kontrol eder:
data = {}
puts data.empty? # Çıktılar: trueKendin dene
# Girdiyi oku
input_string = gets.chomp
key_to_check = gets.chomp
# Hash oluşturmak için girdi dizesini ayrıştır
hash = {}
input_string.split(',').each do |pair|
key, value = pair.split(':')
hash[key] = value
end
# TODO: Kodunuzu aşağıya yazın
# Hash metotlarını kullanarak:
# 1. Her bir anahtarı yazdır (her satıra bir tane)
# 2. Ayırıcı olarak "---" yazdır
# 3. Her bir değeri yazdır (her satıra bir tane)
# 4. Ayırıcı olarak "---" yazdır
# 5. Anahtar-değer çiftlerinin sayısını yazdır
# 6. Ayırıcı olarak "---" yazdır
# 7. Hash boşsa true/false yazdır
# 8. Ayırıcı olarak "---" yazdır
# 9. key_to_check hash içinde mevcutsa true/false yazdırBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve Collect