public
Description: Tradução do livro Why's (Poignant) Guide to Ruby para português.
Homepage: http://poignantguide.net/ruby/
Clone URL: git://github.com/carlosbrando/poignant-br.git
traducao da pagina 54
agaelebe (author)
Tue Jul 08 09:20:32 -0700 2008
commit  bf238e8bd00de5b8f6f36e188e82dc3ec57f5e38
tree    9f84bfd3935a1df442fff48621ada89b5867cafd
parent  0bb49f61bca183bf79ac26e2db44f6087b971293
...
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
111
112
 
 
 
 
113
114
115
 
116
117
118
119
120
 
 
 
121
122
123
 
124
125
126
127
128
 
 
 
129
130
131
 
132
133
134
135
 
 
136
137
138
 
139
140
141
142
143
144
145
 
 
 
 
 
146
147
...
 
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
111
112
113
114
 
115
116
117
 
 
 
118
119
120
121
122
 
123
124
125
 
 
 
126
127
128
129
130
 
131
132
133
 
 
134
135
136
137
 
138
139
140
 
 
 
 
 
141
142
143
144
145
146
147
0
@@ -1,147 +1,147 @@
0
- - Them What Live the Dream: >
0
+ - Eles Que Viveram o Sonho: >
0
 
0
- While The Originals' craft had long disappeared, Dr. Cham frantically worked away at the
0
- computer built into the control panel up in the observation deck. Hannah had disappeared
0
- into the floor (or perhaps those little sparks along the ground were still wisps of her
0
- paranormal presence!) and the goat amicably watched Dr. Cham hack out a Ruby module.
0
+ Apesar da arte dos Originais ter desaparecido há muito, Dr. Cham trabalhou freneticamente no
0
+ computador acoplado ao painel de controle sobre o deck de observação. Hannah havia desaparecido
0
+ dentro do chão (ou talvez aquelas pequenas faíscas ao longo do caminho eram ainda rastros de sua
0
+ presença paranormal!) e a cabra amigavelmente assistiu Dr. Cham hackear um módulo Ruby.
0
 
0
 
0
         <pre>
0
          require 'endertromb'
0
- module WishScanner
0
- def scan_for_a_wish
0
- wish = self.read.detect do |thought|
0
- thought.index( 'wish: ' ) == 0
0
+ module EscanerPedidos
0
+ def escanear_por_um_pedido
0
+ desejo = self.read.detect do |pensamento|
0
+ pensamento.index( 'pedido: ' ) == 0
0
              end
0
- wish.gsub( 'wish: ', '' )
0
+ desejo.gsub( 'pedido: ', '' )
0
            end
0
          end
0
         </pre>
0
 
0
 
0
- "What's your plan?" asked the goat. "It seems like I could have solved this problem in
0
- like three lines."
0
+ "Qual seu plano?" perguntou a cabra. "Parece que eu poderia resolver este problema em
0
+ umas três linhas."
0
 
0
 
0
- "This @Module@ is the new @WishScanner@ technology," he said. "The scanner only picks up
0
- a wish if it starts with the word @wish@ and a colon and a space. That way the planet doesn't
0
- fill up with every less-than-ten-letter word that appears in people's heads."
0
+ "Este @Módulo@ é a nova tecnologia de @EscanerPedidos@," disse ele. "O êscaner só pega
0
+ um desejo se ele começa com a palavra @pedido@, um dois pontos e um espaço. Deste modo o planeta não
0
+ será preenchido com cada palavra com menos-de-dez-letras que aparecem na cabeça das pessoas."
0
 
0
 
0
- "Why don't you just use a class?" asked the goat.
0
+ "`Por que você simplesmente não usa uma classe?" indagou a cabra.
0
 
0
 
0
- "Because a @Module@ is simpler than a class. It's basically just a storage facility
0
- for methods. It keeps a group of methods together. You can't create new objects
0
- from a method."
0
+ "Porque um @Módulo@ é mais simples que uma classe. É apenas um aparato de armazenamento
0
+ para métodos. Ele mantém um grupo de módulos juntos. Você não pode criar novos objetos
0
+ a partir de um método."
0
 
0
 
0
- "But aren't you going to want a @WishScanner@ object, so you can actually use
0
- it?" said the goat, appalled.
0
+ "Mas você não vai querer um objeto @EscanerPedidos@, para que você possa realmente
0
+ usá-lo?" disse a cabra, chocada.
0
 
0
 
0
- "I'm going to mix it into the @MindReader@," said Dr. Cham. And he did.
0
+ "Eu vou mesclá-lo com o @LeitorMentes@," disse Dr. Cham. E assim o fez.
0
 
0
 
0
         <pre>
0
- require 'mindreader'
0
- class MindReader
0
- include MindScanner
0
+ require 'leitormentes'
0
+ class LeitorMentes
0
+ include EscanerPedidos
0
          end
0
         </pre>
0
 
0
 
0
- "Now, the @MindScanner@ module is mixed in to the @MindReader@," said Dr. Cham.
0
- "I can call the @scan_for_a_wish@ method on any @MindReader@ object."
0
+ "Agora, o módulo @EscanerPedidos@ está mesclado ao @LeitorMentes@," disse Dr. Cham.
0
+ "Posso chamar o método @escanear_por_um_pedido@ em qualquer objeto @LeitorMentes@."
0
 
0
 
0
- "So, it's a mixin," said the goat. "The @MindScanner@ mixin."
0
+ "Então, é um mixin," disse a cabra. "O mixin @LeitorMentes@."
0
 
0
 
0
- "Yes, any module which is introduced into a class with @include@ is a mixin to that
0
- class. If you go back and look at the @scan_for_a_wish@ method, you'll see that it
0
- calls a @self.read@ method. I just have to make sure that whatever class I'm mixing
0
- @MindScanner@ into has a @read@ method. Otherwise, an error will be thrown."
0
+ "Sim, qualquer módulo que é incluso numa classe com um @include@ é um mixin para esta
0
+ classe. Se você voltar e olhar para o método @escanear_por_um_pedido@, verá que ele
0
+ chama um método @self.read@. Eu apenas tenho que ter certeza de que, qualquer que seja a classe com que estou mesclando
0
+ o @LeitorMentes@, ela tenha um método @read@. Caso contrário, ocorrerá um erro."
0
 
0
 
0
- "That seems really wierd that the mixin requires certain methods that it doesn't already have.
0
- It seems like it should work by itself."
0
+ "Isto parece bastante estranho, o fato do mixin precisar de certos métodos que ele já não tem.
0
+ Parece que ele deveria funcionar por ele mesmo."
0
 
0
 
0
- Dr. Cham looked up from the keyboard at the goat. "Well, it's sort of like your video collection.
0
- None of your video cassettes work unless they are put in a machine that uses video cassettes.
0
- The depend on each other. A mixin has some basic requirements, but once a class meets those
0
- requirements, you can add all this extra functionality in."
0
+ Dr. Cham moveu seus olhos do teclado para a cabra. "Bem, é como sua coleção de vídeos.
0
+ Nenhuma das suas fitas de vídeo funciona ao menos que você as ponha numa máquina que use fitas de vídeo.
0
+ Eles dependem um do outro. Um mixin tem alguns requisitos básicos, mas uma vez que uma classe atinje
0
+ estes requisitos, você pode adicionar toda esta funcionalidade extra a ela."
0
 
0
 
0
- "Hey, that's cool," said the goat.
0
+ "Hey, isso é legal," disse a cabra.
0
 
0
 
0
- "You read the book thirty times and you didn't pick that up?" asked Dr. Cham.
0
+ "Você leu o livro trinta vezes e não pegou isso?" perguntou Dr. Cham.
0
 
0
 
0
- "You're a much better teacher in person," said the goat. "I really didn't think I was going
0
- to like you very much."
0
+ "Você é bem melhor professor pessoalmente," disse a cabra. "Eu não pensei que fosse gostar
0
+ tanto assim de você."
0
 
0
 
0
- "I completely understand," said the Doctor. "This is much more real than the cartoons
0
- make it seem."
0
+ "Eu compreendo completamente," disse o Doutor. "Isto é muito mais real do que as tirinhas
0
+ fazem sê-lo."
0
 
0
 
0
         <pre>
0
- require 'wishmaker'
0
- reader = MindReader.new
0
- wisher = WishMaker.new
0
+ require 'fazedorpedidos'
0
+ leitor = LeitorMentes.new
0
+ pedidor = FazedorPedidos.new
0
          loop do
0
- wish = reader.scan_for_a_wish
0
- if wish
0
- wisher.grant( wish )
0
+ pedido = leitor.escanear_por_um_pedido
0
+ if pedido
0
+ pedidor.realize( pedido)
0
            end
0
          end
0
         </pre>
0
 
0
 
0
 
0
- Irb sat and looped on the screen. It'll do that until you hit Control-C. But Dr. Cham let it
0
- churn away. Looping endlessly, scanning the mind waves for a proper wish.
0
+ Irb sentou e rodou o laço na tela. Ele fará isso até que você pressione Control-C. Mas Dr. Cham o deixou
0
+ rodando. Rodando o laço indefinidamente, escaneando as ondas mentais por um pedido adequado.
0
 
0
 
0
- And Dr. Cham readied his wish. At first, he thought immediately of a @stallion@. To ride bareback
0
- over the vales of Sedna. But he pulled the thought back, his wish hadn't been formed properly.
0
- A stallion was useless in pursuing The Originals, so he closed his eyes again, bit his lip
0
- and he thought to himself: @wish: whale@.
0
+ E Dr. Cham terminou seu pedido. No começo, ele pensou imediatamente em um @garanhão@. Para cavalgar em pêlo
0
+ sobre os vales de Sedna. Mas ele recuou com o pensamento, seu pedido não havia sido formado corretamente.
0
+ Um garanhão era inútil para perseguir Os Originais, então ele fechou seus olhos novamente, mordeu seu lábio
0
+ e pensou com si mesmo: @pedido: baleia@.
0
 
0
 
0
- h3. Last Whale to Peoplemud
0
+ h3. Última Baleia para Pessoasenlameadas
0
 
0
 
0
- The blocky, sullen whale appeared down at the castle entrance, where Hannah was
0
- bashing on a rosebud with her hand. She whacked at it with a fist, but it only stayed
0
- perfect and pleasant and crisp against the solid blue sky of Endertromb.
0
+ A atarracada e mal-humorada baleia apareceu na entrada do castelo, onde Hannah estava
0
+ chacoalhando um botão de rosas com sua mão. Ela golpeou a Baleia com a mão, mas esta apenas permaneceu
0
+ perfeita, comfortável e firme contra o céu sólido e azul de Endertromb.
0
 
0
 
0
- "I'm bored," she said to the whale. *BOHR-BOHR-OHRRRRRR.*
0
+ "Estou entediada," disse ela a baleia. *BOHR-BOHR-OHRRRRRR.*
0
 
0
 
0
- "Ok," said the whale, deep and soft. As the word slid along his massive tongue, its
0
- edges chipped off and the word slid out polished and worn in a bubble by his mouth's
0
- corner.
0
+ "Ok," disse a baleia, profundamente e suavemente. Enquanto a palavra deslizava junto de sua pesada língua, suas
0
+ bordas dividiam-se e a palavra saia polida e vestida numa bolha pelo
0
+ canto de sua boca.
0
 
0
 
0
- "I always have to die," said the young ghost. "People always kill me."
0
+ "Eu sempre tenho que morrer," disse a jovem fantasma. "As pessoas sempre me matam."
0
 
0
 
0
- The whale fluttered his short fins, which hung at useless distance from the ground.
0
- So, he pushed himself toward her with his tail. Scooting over patches of grass.
0
+ A baleia sacudiu suas curtas nadadeiras, que se encontravam a uma distância inútil do solo.
0
+ Então, ela se moveu com esforço em direção a menina com sua cauda. Lançando-se sobre os pedaços de grama.
0
 
0
 
0
- "People kill, so who do they kill?" said the girl. "Me. They kill me every time."
0
+ "As pessoas matam, então, quem elas matam?" disse a menina. "Eu. Elas me matam todas as vezes."
0
 
0
 
0
- The whale made it to within three meters of the girl, where he towered like a
0
- great war monument that represents enough dead soldiers to actually steal a lumbering step
0
- towards you. And now, the whale rested his tail and, exhausted by the climb thus far,
0
- let his eyelids fall shut and became a gently puffing clay mountain, his shadow
0
- rich and doubled-up all around the hardly visible Hannah.
0
+ A baleia conseguiu chegar a três metros da garota onde se erguia como um
0
+ grande monumento de guerra que representava um número suficiente de soldados mortos a ponto de trazer um ruídoso passo
0
+ até você. E agora a baleia descansava sua cauda e, exausta pela escalada até então,
0
+ deixou suas pálpebras se cerrarem tornando-se uma levemente inchada montanha de barro. Sua farta sombra
0
+ dobrou-se em volta da quase imperceptível Hannah.
0
 
0
 

Comments

    No one has commented yet.