-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path13)ZenOfRuby.rb
More file actions
110 lines (86 loc) · 2.29 KB
/
13)ZenOfRuby.rb
File metadata and controls
110 lines (86 loc) · 2.29 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
=begin
Contents:
Ruby is a Delight
A Simpler 'If'
The One-Line Unless
One Good Turn Deserves a Ternary
When and Then: The Case Statement
Conditional Assignment
Implicit Return
Short-Circuit Evaluation
The Right Tool for the Job
Up the Down Staircase
Call and Response
Being Pushy
String Interpolation
=end
puts "### Ruby is a Delight ###"
ruby_is_eloquent = true
ruby_is_ugly = false
puts "Ruby is eloquent!" if ruby_is_eloquent
puts "Ruby's not ugly!" unless ruby_is_ugly
puts "### A Simpler 'If' ###"
puts "It's true!" if true
puts "### The One-Line Unless ###"
puts "It's false!" unless false
puts "### One Good Turn Deserves a Ternary ###"
puts 12 < 14 ? "12 is less than 14" : "12 is not less than 14"
puts "### When and Then: The Case Statement ###"
puts "Hello there! What is your native language?"
#greeting = gets.chomp
greeting = "English"
case greeting
when "English" then puts "Hello!"
when "French" then puts "Bonjour!"
when "German" then puts "Guten Tag!"
when "Finnish" then puts "Haloo!"
else puts "I don't know that language!"
end
puts "### Conditional Assignment ###"
favorite_book = nil
puts favorite_book
favorite_book ||= "Was nil became the value"
puts favorite_book
favorite_book ||= "Nice!" # Our variable already has a value
puts favorite_book
favorite_book = "Nice!"
puts favorite_book
puts "### Implicit Return ###"
def sum(a, b)
a + b
end
puts sum(333,667)
puts "### Short-Circuit Evaluation ###"
def a
puts "A was evaluated!"
return true
end
def b
puts "B was also evaluated!"
return true
end
puts a || b
puts "------"
puts a && b
puts "### The Right Tool for the Job ###"
3.times { puts "Ruby!" }
[1, 2, 3].each { |element| puts element * 10 }
puts "### Up the Down Staircase ###"
100.downto(95) { |number| puts number }
"L".upto("P") { |letter| puts letter }
puts "### Call and Response ###"
puts [1, 2, 3].respond_to?(:push)
puts [1, 2, 3].respond_to?(:to_sym)
puts "### Being Pushy ###"
alphabet = ["a", "b", "c"]
alphabet << "d"
print alphabet, "\n"
caption = "Leningrad ft. Gluk’oZа "
caption << "(ft. ST) Ju-Ju"
print caption, "\n"
puts "### String Interpolation ###"
favorite_things = ["Ruby", "Cars", "Tea"]
puts "A few of my favorite things:"
favorite_things.each do |thing|
puts "I love #{thing}!"
end