forked from ab16ruby/ornekler
-
Notifications
You must be signed in to change notification settings - Fork 1
/
55-sozlukler.rb
75 lines (58 loc) · 2.22 KB
/
55-sozlukler.rb
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
sozluk = {}
sozluk.class # => Hash
sozluk = Hash.new
sozluk[:ad] = "Ali"
sozluk[:soyad] = "Kara"
sozluk # => {:ad => "Ali", :soyad => "Kara"}
sozluk = {ad: "Ayten", soyad: "Pak"}
sozluk = {'ad' => "Ayten", 'soyad' => "Pak"}
puts "#{sozluk['ad']} #{sozluk['soyad']}" # => Ayten Pak
sozluk['yas'] # => nil
sozluk = Hash.new("varsayılan")
sozluk['yas'] # => "varsayılan"
ruby101 = {
egitmen: [
"Sıtkı Bağdat",
"Umurcan Görür"
],
katilimcilar: [
"Ali Kara",
"Veli Ak",
"Ayten Pak",
"Nuran Çak"
],
etkinlik: "Akademik Bilişim",
tarih: "31 Ocak - 03 Şubat 2015"
}
puts "#{ruby101[:tarih]} tarihinde #{ruby101[:etkinlik]} etkinliğinde,
#{ruby101[:egitmen][0]} ve #{ruby101[:egitmen][1]} ile birlikte Ruby öğrenen #{ruby101[:katilimcilar].size} kişiydik."
# >> 31 Ocak - 03 Şubat 2015 tarihinde Akademik Bilişim etkinliğinde,
# >> Sıtkı Bağdat ve Umurcan Görür ile birlikte Ruby öğrenen 4 kişiydik.
ruby101.keys # => [:egitmen, :katilimcilar, :etkinlik, :tarih]
ruby101.values # => [["Sıtkı Bağdat", "Umurcan Görür"], ["Ali Kara", "Veli Ak", "Ayten Pak", "Nuran Çak"], "Akademik Bilişim", "31 Ocak - 03 Şubat 2015"]
ruby101.fetch(:egitmen) # => ["Sıtkı Bağdat", "Umurcan Görür"]
#ruby101.fetch(:falan) # => KeyError: key not found
ruby101[:falan] # => nil
ruby101.include? :tarih # => true
ruby101.include? :saat # => false
# Sözlüklerin Birleştirilmesi
h1 = {ad: "Ali", soyad: "Kara"}
h2 = {adres: "Falan sk. Filan Apt. 3/5 Ankara"}
h1.merge h2 # => {:ad=>"Ali", :soyad=>"Kara", :adres=>"Falan sk. Filan Apt. 3/5 Ankara"}
h3 = {ad: "Ayten"}
h1.merge h3 # => {ad: "Ayten", soyad: "Kara"}
h1.merge h1 # => {ad: "Ali", soyad: "Kara"}
# Diziden sözlüğe dönüştürme
[["a",1],["b",2]].to_h # => {"a"=>1, "b"=>2}
def kisi (**bilgiler)
puts bilgiler[:adi] unless bilgiler[:adi].nil?
puts bilgiler[:soyadi] if bilgiler.include? :soyadi
puts bilgiler[:yasi] if bilgiler.include? :yasi
end
kisi adi: "Umur", soyadi: "Görür"
kisi adi: "Ahmet", yasi: 27
kisi soyad: "Recep", adi: "Ahmet", yasi: 27
ogrenci.each do |anahtar, deger|
puts "#{anahtar}: #{deger}"
end
ogrenci.each { |anahtar, deger| puts "#{anahtar}: #{deger}" }