-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata_types2.rb
83 lines (71 loc) · 1.35 KB
/
data_types2.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
76
77
78
79
80
81
82
83
##Ex. 1
#Iterate, display data correspondingly
beatles = [
{
name: nil,
nickname: "The Smart One"
},
{
name: nil,
nickname: "The Shy One"
},
{
name: nil,
nickname: "The Cute One"
},
{
name: nil,
nickname: "The Quiet One"
}
]
name = nil
beatles.each do |member|
# case-switch statement
case member[:nickname]
when "The Smart One"
member[:name] = "John Lennon"
when "The Shy One"
member[:name] = "George Harrison"
when "The Cute One"
member[:name] = "Paul McCartney"
when "The Quiet One"
member[:name] = "Ringo Starr"
end
end
beatles.each do |member|
puts "Hi, I'm #{member[:name]}. I'm ''#{member[:nickname]}''"
end
#___________________________________________________________
##Ex.2
#Simple Greeting
puts"What's your name?"
def say_hello()
puts"What's your name?"
name = gets.chomp.to_s.upcase.strip
puts"Hello, #{name}"
end
puts"Hello, #{name}"
say_hello
puts"Hello, #{name}"
#___________________________________________________________
##Ex.3
#Add 2 to the number.
def add_two(number)
if number.respond_to? :+
if number.respond_to? :push
number.push(2)
else
number + (2.to_s)
end
end
end
def test_add_two
p add_two(1)
p add_two(1.0)
p add_two(nil)
p add_two({})
p add_two([])
p add_two(false)
p add_two("")
end
test_add_two