Menu
Coddy logo textTech

Hash Oluşturma

Coddy'nin Ruby Journey'sinin Temeller 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 her bir anahtarın karşılık gelen bir değere işaret ettiği anahtar-değer çiftleri olarak depolar.

Bir hash oluşturmak için, anahtarları ve değerleri => (hash oku olarak adlandırılır) ile ayırarak süslü parantezleri kullanın:

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

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

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

Ayrıca boş bir hash oluşturabilir ve daha sonra çiftler ekleyebilirsiniz:

scores = {}

puts scores  # Çıktı: {}

Hash'ler, bir isim ve fiyata sahip bir ürün veya e-posta ve şifreye sahip bir kullanıcı gibi, isimlendirilmiş özniteliklere sahip gerçek dünya nesnelerini temsil etmek için mükemmeldir. Konumları hatırladığınız dizilerin aksine, hash'ler verilerinizi düzenlemek için anlamlı isimler kullanmanıza olanak tanır.

challenge icon

Görev

Kolay

Üç satır girdi okuyun:

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

Hash rocket söz dizimini (book) kullanarak üç anahtar-değer çifti içeren => adlı bir hash oluşturun:

  • "title" değerini kitap başlığına eşleyin
  • "author" değerini yazar adına eşleyin
  • "year" değerini yayımlanma yılına (tam sayı olarak) eşleyin

Hash'i puts kullanarak yazdırın.

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

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

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

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

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

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

Kendin dene

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

# YAPILACAK: Hash rocket sözdizimini (=>) kullanarak üç anahtar-değer çiftine sahip 'book' adında bir hash oluşturun
# Anahtarlar şunlar olmalıdır: "title", "author", "year"


# Hash'i 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.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi