-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.rb
More file actions
53 lines (41 loc) · 1.15 KB
/
main.rb
File metadata and controls
53 lines (41 loc) · 1.15 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
# inclusão da gem (framework): colorize
require 'colorize'
# Definicão da classe
class Main
# definicão do construtor
def initialize
puts 'Iniciei!'.colorize(:light_blue)
end
# Definicão de um metodo da classe
def hello
puts 'Hello'.colorize(:light_blue)
end
# Cálculos de Matemática
def soma num_a, num_b
return num_a + num_b # Aborta a função já retornando e nada daqui para baixo executa
puts 'Soma: ' + "#{(num_a + num_b)}".colorize(:green)
end
def subtracao(num_a, num_b)
"#{(num_a - num_b)}"
end
def divisão (num_a, num_b)
puts 'Divisão:'+ "#{(num_a / num_b)}".colorize(:orange)
end
def multiplicação (num_a, num_b)
puts 'Multiplicação:'+ "#{(num_a * num_b)}".colorize(:red)
end
end
# instancia da classe (objeto)
main_objs = Main.new
# chamada do metodo
main_objs.hello
soma_resultado = main_objs.soma(2,3)
puts 'Subtracao: ' + main_objs.subtracao(3,3).colorize(:red)
if soma_resultado > 0
puts 'é positivo'
else
puts 'é negativo'
end
if soma_resultado > 0 then puts 'é positivo' else puts 'negativo' end
# Quando usar parenteses: quando há chamada encadeada, exemplo:
# obj.metodo(a,b).sub_metodo