Özet - Ürün Hash'i
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 77 / 88.
Görev
KolayDört satır girdi okuyun:
- Bir ürün adı (string)
- Bir başlangıç fiyatı (float)
- Güncellenecek yeni bir fiyat (float)
- Yeni bir anahtar-değer çifti olarak eklenecek bir miktar (integer)
Aşağıdaki başlangıç anahtar-değer çiftlerine sahip product adında bir hash oluşturun:
- Ürün adına eşlenmiş
"name" - Başlangıç fiyatına (float olarak) eşlenmiş
"price"
Ardından şu işlemleri sırasıyla gerçekleştirin:
"name"anahtarına erişerek ürün adını yazdırın"price"anahtarını yeni fiyat değeriyle güncelleyin- Miktar değeriyle (integer olarak) yeni bir
"quantity"anahtarı ekleyin "quantity"anahtarının var olup olmadığını kontrol edin ve sonucu (trueveyafalse) yazdırın- Hash içindeki toplam anahtar-değer çifti sayısını yazdırın
- Son hash'i yazdırın
Örneğin, girdiler Laptop, 999.99, 899.99 ve 50 ise, çıktı şöyle olmalıdır:
Laptop
true
3
{"name"=>"Laptop", "price"=>899.99, "quantity"=>50}Girdiler Keyboard, 75.0, 59.99 ve 100 ise, çıktı şöyle olmalıdır:
Keyboard
true
3
{"name"=>"Keyboard", "price"=>59.99, "quantity"=>100}Girdiler Mouse, 29.99, 24.99 ve 200 ise, çıktı şöyle olmalıdır:
Mouse
true
3
{"name"=>"Mouse", "price"=>24.99, "quantity"=>200}Kendin dene
# Girdiyi oku
product_name = gets.chomp
initial_price = gets.chomp.to_f
new_price = gets.chomp.to_f
quantity = gets.chomp.to_i
# YAPILACAK: Kodunuzu aşağıya yazın
# 1. "name" ve "price" anahtarlarına sahip 'product' adında bir hash oluşturun
# 2. "name" anahtarına erişerek ürün adını yazdırın
# 3. "price" anahtarını yeni fiyatla güncelleyin
# 4. Miktar değeriyle birlikte "quantity" adında yeni bir anahtar ekleyin
# 5. "quantity" anahtarının mevcut olup olmadığını kontrol edin ve sonucu yazdırın
# 6. Toplam anahtar-değer çifti sayısını yazdırın
# 7. Nihai hash'i yazdırınTemeller 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 Girdi11Diziler
Dizi OluşturmaDizi Elemanlarına ErişmeDizileri DeğiştirmeDizi MetotlarıÖzet - Ürün DizisiÖzet - Ters Çevrilmiş DiziDizi Kısayolları14Hash'ler
Hash OluşturmaHash Elemanlarına ErişimHash'leri GüncellemeHash MetotlarıÖzet - Ürün Hash'iHash Anahtarı Olarak Semboller3Operatö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