Skip to content

Commit 40603e5

Browse files
committed
first commit
0 parents  commit 40603e5

File tree

3 files changed

+81
-0
lines changed

3 files changed

+81
-0
lines changed

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Dojo programação funcional com Ruby
2+
3+
Exercício desenvolvido com a finalidade de remover acentos e trabalhar com
4+
composição de funções para tratamento do texto.

test/parser.rb

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
require 'benchmark'
2+
3+
content = IO.read('sample_weed.txt')
4+
title, _, _, content = content.split("\n")
5+
6+
class Proc
7+
def self.compose(f, g)
8+
lambda { |*args| f[g[*args]] }
9+
end
10+
11+
def *(g)
12+
Proc.compose(self, g)
13+
end
14+
end
15+
16+
sanitize = lambda { |string|
17+
string.split("").map do |char|
18+
case char
19+
when "á", "à", "ã", "â" then "a"
20+
when "é", "ê" then "e"
21+
when "í", "ì" then "i"
22+
when "ó", "ô", "õ" then "o"
23+
when "ú" then "u"
24+
when " " then " "
25+
when /\W/ then " "
26+
else char
27+
end
28+
end.join ""
29+
}
30+
31+
downcase = lambda { |text|
32+
text.downcase
33+
}
34+
35+
upper = lambda { |text|
36+
text.upcase
37+
}
38+
39+
full_content = title + content
40+
41+
pipeline = sanitize * downcase * upper
42+
43+
normalized_call = nil
44+
normalized_lamda = nil
45+
46+
puts Benchmark.measure {
47+
100.times {
48+
normalized_call = sanitize[downcase[upper[full_content]]]
49+
}
50+
}
51+
52+
puts Benchmark.measure {
53+
100.times {
54+
normalized_lamda = pipeline[full_content]
55+
}
56+
}
57+
58+
puts normalized_call
59+
60+
puts '----'
61+
62+
puts normalized_lamda
63+
64+
puts '----'
65+
66+
puts normalized_call == normalized_lamda

test/sample_weed.txt

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Glória Maria fica ‘tonta’ ao fumar maconha e a internet pira!
2+
3+
A jornalista faz saudação ao sol numa de suas viagens (Foto: TV Globo/Divulgação)
4+
E não é que Glória Maria saiu do Rio de Janeiro para experimentar maconha na Jamaica? A repórter mostrou a experiência em matéria exibida na sexta-feira (1), no Globo Repórter. O uso medicinal ou religioso da planta é permitido por lei naquele país caribenho desde 2015.
5+
“Uau!”, disse a jornalista, enquanto arregalava os olhos, fazia expressões faciais engraçadas e tentava dissipar a fumaça da erva. Rastafáris que ofereceram a maconha riram da reação da repórter. A música mística usada como trilha deixou a cena ainda mais surreal para o padrão ‘careta’ da Globo.
6+
“Fiquei totalmente tonta”, relatou a jornalista. Já o efeito nas redes sociais foi outro: euforia na potência máxima. Minutos depois de a cena inusitada ir ao ar, surgiram montagens satirizando a veterana da TV. Glória Maria, quem diria, viralizou ao fumar cannabis.
7+
A sequência de apenas 20 segundos suscitou também uma guerra de opiniões divergentes sobre a descriminalização da maconha. Esse tema é combustível para posições radicais, assim como a ideologia política e a posição partidária.
8+
Com 45 anos de Globo, Glória Maria ainda consegue surpreender o telespectador. Poderia estar até hoje na confortável função de apresentadora do Fantástico, ocupada por ela entre 1998 e 2007.
9+
Inquieta, ela preferiu voltar à reportagem e colocar os pés na estrada. Fez muito bem. Seu registro de lugares e culturas diferentes tira o Globo Repórter da mesmice.
10+
E o frequente humor involuntário, como o visto em sua experiência com a maconha jamaicana, atrai um público jovem que não costuma sintonizar a atração. A cena merece constar na Retrospectiva 2016 da emissora.
11+
Exibido no canal desde 1973, o programa apresentado por Sérgio Chapelin tem feito boa temporada este ano. A média de audiência está em 22 pontos.

0 commit comments

Comments
 (0)