1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
#encoding:UTF-8 #sözlükler dizilerle benzerdir. #dizilerde indis numaraları ile elemanlara erişiriz, sözlüklerde ise anahtarlar ile erişiriz. #sözlük oluşturalım ve sözlüğe anahtar ve değer ekleme, değiştirme ve ekrana yazdırma olaylarının nasıl gerçekleştiğini görelim sozluk1={} sozluk1={ 'baslik'=>'Ruby\'i sevdiniz mi?', #baslik bizim anahtarımız(keyword) Ruby\'i sevdiniz mi? ifadesi sie bizim değerimiz(values) 'icerik' =>'ruby de çeşitli bir sürü kod yazdık siz halen ruby ısınmadınız mı. ruby iş alanlarında faydası...', 'yazar' =>'onur', 'tarih' =>'21.05.2014' } print sozluk1 puts sozluk1['baslik'] sozluk1['tarih']='22.05.2014' puts sozluk1['tarih'] #onur değerinin hangi anahtar ile çalıştığını bildiren örneği yazalım print sozluk1.key('onur'),"\n" #farklı bir yöntem ile sözlük oluşturalım sozluk2=Hash.new sozluk2={ 'kelime'=>'write', 'anlami'=>'yazmak' } #sözlüğün tüm anahtarlarını ve değerlerini ayrı ayrı ekrana yazallım print sozluk2.keys,"\n" print sozluk2.values,"\n" #cumle anahtarı i ve yazmak değeri sözlüğümüzde olmaları halinde true olmaması durumunda false döndüren programı yazalım. puts sozluk2.has_key?('cumle') puts sozluk2.has_value?('yazmak') #sözlüğümüzde anlami anahtarı silen programı yazalım. sozluk2.delete_if{|anahtar,deger| anahtar=='anlami'} puts sozluk2 #iki sözlüğün birleştirilmesinde merge metodunu kullanıyoruz. eğer kalıcı birlşeme olsun istiyorsak ünlem işareti olmalıdır sozluk1.merge!(sozluk2) print sozluk1,"\n" #semboller ile sözlükleri kullanmadan önce sözlüklerin ne olduğunu hatırlayalım. #sembol olarak bildirilen ifade kullanıldığı yerlerde yeniden bellekte yer edinmez ve yer tasarufu sağlamamızı sağlar. #fakat program açık olduğu sürece bellekte saklandıkları için fazla kullanılması programın çökmesine neden olabilir :) #sayi isminde sözlüğümüze 1'den 5'e akdar sayıyı anahtarlarını sembol olarak tanımladık. sayi={ :'1'=>'1', :'2'=>'2', :'3'=>'3', :'4'=>'4', :'5'=>'5' } #sözlüğümüzde ki değerleri tersten sıralayan programı yazalım print sayi.values.sort.reverse,"\n" #sayi sözlüğümüzü diziye dönüştürmek için to_a metodunu kullanalım. dizi=sayi.to_a print dizi |