Ruby'deki her dizi ve karma bir nesnedir ve bu türdeki her nesnenin bir dizi yerleşik yöntemi vardır. Ruby'de yeni olan programcılar, her biri burada sunulan basit örnekleri izleyerek bir dizi ve bir karma yöntem.
Her Yöntemi Ruby'de Array Nesnesi ile Kullanma
İlk olarak, diziyi "stooges" a atayarak bir dizi nesnesi oluşturun.
>> yardakçıları = ['Larry', 'Kıvırcık', 'Moe']
Ardından, her yöntemi çağırın ve sonuçları işlemek için küçük bir kod bloğu oluşturun.
>> stooges.each {| stooge | baskı yeri + "\ n"}
Bu kod aşağıdaki çıktıyı üretir:
Larry
Kıvırcık
Moe
Her yöntem iki argümanlar- bir eleman ve bir blok. Borularda bulunan eleman, bir yer tutucusuna benzer. Boruların içine ne koyarsanız koyun, sırayla dizinin her bir öğesini temsil etmek için kullanılır. Blok, dizi öğelerinin her birinde yürütülen ve işlenecek öğeye teslim edilen kod satırıdır.
Kod bloğunu kullanarak birden çok satıra kolayca genişletebilirsiniz. yapmak daha büyük bir blok tanımlamak için:
>> stuff.each do | şey |
baskı işi
"\ n" yazdır
son
Bu ilk örnekle aynıdır, ancak bloğun elemandan (borularda) ve bitiş ifadesinden önce her şey olarak tanımlanması hariç.
Her Yöntemi Karma Nesneyle Kullanma
Tıpkı dizi nesnesi, karma nesne hash içindeki her öğeye bir kod bloğu uygulamak için kullanılabilecek her bir yönteme sahiptir. İlk olarak, bazı iletişim bilgileri içeren basit bir karma nesne oluşturun:
>> contact_info = {'name' => 'Bob', 'telefon' => '111-111-1111'}
Ardından, her yöntemi çağırın ve sonuçları işlemek ve yazdırmak için tek satırlık bir kod bloğu oluşturun.
>> contact_info.each {| anahtar, değer | yazdırma tuşu + '=' + değer + "\ n"}
Bu, aşağıdaki çıktıyı üretir:
name = Bob
telefon = 111-111-1111
Bu, önemli bir farkı olan bir dizi nesnesi için her yöntem gibi çalışır. Bir karma için iki öğe yaratırsınız - biri esrar ve bir değer için. Dizi gibi, bu öğeler de her anahtar / değer çiftini kod bloğuna aşağıdaki gibi aktarmak için kullanılan yer tutuculardır. Ruby Döngüler karma yoluyla.
Daha büyük bir blok tanımlamak için do'yu kullanarak kod bloğunu birden çok satıra kolayca genişletebilirsiniz:
>> contact_info.each do | anahtar / değer / değer |
yazdır yazdırma tuşu + '=' + değer
"\ n" yazdır
son
Bu, ilk karma örneğiyle aynıdır, ancak blok, elemanlardan (borularda) ve bitiş ifadesinden önce her şey olarak tanımlanır.