-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhash.rb
More file actions
34 lines (27 loc) · 659 Bytes
/
hash.rb
File metadata and controls
34 lines (27 loc) · 659 Bytes
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
# Hash stores in a key value pair
my_details = { 'name' => 'Cody', 'age'=>33 }
puts my_details['name']
# Allow the keys to by symbols
my_hash = { a:1, b:2, c:3 }
puts my_hash[:b]
# Add item to hash
my_hash[:d] = 4
p my_hash
# To remove
my_hash.delete(:d);
p my_hash
puts ""
# Interate over a hash
my_hash.each { |key, value| puts "k: #{key} v: #{value}"}
puts ""
# Delete any value over one
my_hash.each { |k, v| my_hash.delete(k) if v > 1 }
p my_hash
puts ""
my_hash = { a:1, b:2, c:3, d:4, e:5, f:6}
# Show only odd numbers
p my_hash.select{ |k, v| v.odd? }
p my_hash
# modify hash to only keep odd numbers
my_hash.select!{ |k, v| v.odd? }
p my_hash