Menu
CoddyTech

Hash Oluşturma

Coddy'nin Ruby Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 73 / 88.

Diziler sıralı listeleri depolamak için harikadır, ancak bazen değerleri sayısal indeksler yerine belirli etiketlerle ilişkilendirmeniz gerekir. Bir hash, verileri anahtar-değer çiftleri olarak depolar; her anahtar, karşılık gelen bir değeri gösterir.

Bir hash oluşturmak için, anahtarları ve değerleri => ile ayırarak süslü parantezleri kullan (buna hash rocket denir):

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person  # Çıktı: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}

Her anahtar karma tablo içinde benzersiz olmalıdır, ancak değerler tekrarlanabilir. Anahtarlar ve değerler dizeler, sayılar veya hatta diziler de dahil olmak üzere herhangi bir veri türünde olabilir.

Boş bir hash oluşturup çiftleri daha sonra da ekleyebilirsin:

scores = {}

puts scores  # Çıktı: {}

Hash'ler, adı ve fiyatı olan bir ürün ya da e-posta adresi ve parolası olan bir kullanıcı gibi, adlandırılmış niteliklere sahip gerçek dünya nesnelerini temsil etmek için idealdir. Konumları aklınızda tutmanız gereken dizilerin aksine, hash'ler verilerinizi düzenlemek için anlamlı adlar kullanmanıza olanak tanır.

challenge icon

Görev

Kolay

Üç satır girdi oku:

  1. Bir kitap başlığı (dize)
  2. Bir yazarın adı (dize)
  3. Yayın yılı (tam sayı)

Hash rocket sözdizimini (=>) kullanarak üç anahtar-değer çiftine sahip book adlı bir hash oluştur:

  • "title" anahtarına kitap başlığını ata
  • "author" anahtarına yazarın adını ata
  • "year" anahtarına yayın yılını ata (tam sayı olarak)

Hash'i puts kullanarak yazdır.

Örneğin, girdiler Ruby Basics, Jane Smith ve 2023 ise çıktı şöyle olmalıdır:

{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}

Girdiler The Great Gatsby, F. Scott Fitzgerald ve 1925 ise çıktı şöyle olmalıdır:

{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}

Girdiler 1984, George Orwell ve 1949 ise çıktı şöyle olmalıdır:

{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}

Kendin dene

# Girdiyi oku
title = gets.chomp
author = gets.chomp
year = gets.to_i

# TODO: Hash rocket sözdizimini (=>) kullanarak üç anahtar-değer çifti içeren 'book' adlı bir hash oluştur
# Anahtarlar şunlar olmalı: "title", "author", "year"


# Hash'i çıktı olarak yazdır
puts book
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi