Ruby'de Hashes Oluşturma ve Kullanma

click fraud protection

Diziler değişken koleksiyonlarını yönetmenin tek yolu Yakut. Bir başka değişken koleksiyonu da esrar, ilişkilendirilebilir dizi olarak da adlandırılır. Karma, diğer değişkenleri depolayan bir değişken olması bakımından bir dizi gibidir. Bununla birlikte, bir karma, saklanan değişkenlerin belirli bir sırada saklanmadığı bir diziye benzemez ve koleksiyondaki konumları yerine bir anahtarla alınır.

Anahtar / Değer Çiftleriyle Karma Oluşturma

Bir karma denilen şeyi saklamak için yararlıdır anahtar / değer çiftleri. Bir anahtar / değer çifti, hangi karma değerine erişmek istediğinizi belirtmek için bir tanımlayıcıya sahiptir ve karma içinde bu konumda saklanacak bir değişken. Örneğin, bir öğretmen öğrencinin notlarını bir karma içinde saklayabilir. Bob'un notuna "Bob" anahtarıyla bir karma olarak erişilirdi ve bu konumda depolanan değişken Bob'un notu olur.

Bir karma değişken, bir dizi değişkeniyle aynı şekilde oluşturulabilir. En basit yöntem boş bir karma nesnesi oluşturmak ve bunu anahtar / değer çiftleriyle doldurmaktır. Dizin operatörünün kullanıldığını, ancak bir numara yerine öğrencinin adının kullanıldığını unutmayın.

instagram viewer

Karmaların sırasız olduğunu unutmayın, yani bir dizide olduğu gibi tanımlanmış bir başlangıç ​​veya bitiş yoktur. Yani, bir karma ekleyemezsiniz. Değerler, indeks operatörü kullanılarak doğrudan karmaya eklenir.

#! / usr / bin / env yakut
grades = Hash.new
sınıflarda ["Bob"] = 82
sınıflarda ["Jim"] = 94
sınıflarda ["Billy"] = 58
not verir ["Jim"]

Hash Literals

Tıpkı diziler gibi, karmalar karma ile oluşturulabilir değişmezleri. Karma değişmez değerler köşeli parantez yerine kıvırcık parantez kullanır ve anahtar değer çiftlerine =>. Örneğin, tek bir anahtar / değer çifti Bob / 84 olan bir karma şöyle görünür: {"Bob" => 84}. Karma hazır değere virgülle ayırarak ek anahtar / değer çiftleri eklenebilir. Aşağıdaki örnekte, birkaç öğrenci için notlarla birlikte bir karma oluşturulur.

#! / usr / bin / env yakut
notlar = {"Bob" => 82,
"Jim" => 94,
"Billy" => 58
}
not verir ["Jim"]

Karma'daki Değişkenlere Erişme

Karma'daki her bir değişkene erişmeniz gereken zamanlar olabilir. Hala hash içindeki değişkenler üzerinde her biri döngü, ancak her biri dizi değişkenleri ile döngü. Çünkü bir karma düzensizdir, her biri anahtar / değer çiftlerinin üzerinden geçecek anahtarları girdiğiniz sıra ile aynı olmayabilir. Bu örnekte, notların bir karması döngüye girecek ve yazdırılacaktır.

#! / usr / bin / env yakut
notlar = {"Bob" => 82,
"Jim" => 94,
"Billy" => 58
}
her biri ad, not |
"# {name}: # {grade}"
son
instagram story viewer