Commit 9648145712a2da8e19d62c64a07109b2540e4eeb

Merge branch 'master' of git://gitorious.org/squeak-by-example/mainline

Commit diff

PortugueseBook/QuickTour/QuickTour.tex

 
8585\index{Rodando o \sq}
8686\paragraph{Rodando.} Para rodar o \sq, faça o que o seu sistema operacional espera: arraste o arquivo da imagem, cuja extensão é \emph{.}\emphind{image}, para sobre o ícone da máquina virtual; ou dê um duplo clique na imagem; ou ainda, na linha de comando, digite o nome do executável da máquina virtual seguido pelo nome do arquivo da imagem. (Quando você possui múltiplas máquinas virtuais instaladas na sua máuina, o seu sistema operacional pode não identificar corretamente a que você deseja usar; neste caso, é mais seguro arrastar e soltar a imagem sobre a máquina virtual ou usar a linha de comando.)
8787
88Uma vez que o \sq esteja rodando, você verá uma única janela, possivelmente contendo algumas janelas de trabalho dentro de si (veja \figref{startup}), e não é tão óbvio como proceder! Você notará que não há barra de \foreign{menu}, ou pelo menos não uma útil. Na verdade, o \sq faz uso pesado de \foreign{menus} contextuais.
88Uma vez que o \sq esteja rodando, você verá uma única janela, possivelmente contendo alguns \foreign{workspaces} (áreas de trabalho com código ou texto simples) dentro de si (veja \figref{startup}), e não é tão óbvio como proceder! Você notará que não há barra de \foreign{menu}, ou pelo menos não uma útil. Na verdade, o \sq faz uso pesado de \foreign{menus} contextuais.
8989
90\dothis{Rode o \sq. Você pode fechar todas as janelas de trabalho abertas dentro do mesmo clicando no ícone de um {\sf X} no canto superior esquerdo das janelas. Você pode minimizar as janelas (de modo que possam ser maximizadas depois clicando no \raisebox{-0.2ex}{{\Large $\circ$}} no topo superior direito.}
90\dothis{Rode o \sq. Você pode fechar todas os \foreign{workspaces} abertos dentro do mesmo clicando no ícone de um {\sf X} no canto superior esquerdo das janelas. Você pode minimizar as janelas (de modo que possam ser maximizadas depois clicando no \raisebox{-0.2ex}{{\Large $\circ$}} no topo superior direito.}
9191
9292%-----------------------------------------------------------------
9393\paragraph{Primeira interação.}
9494
9595Um bom lugar para começar é o menu principal, conhecido como \ind{\foreign{world menu}}, que você pode ver na \figref{threeButtons:red}.
9696
97\dothis{Clique com o \foreign{mouse} no fundo da janela principal para mostrar o \foreign{world menu}, e então escolha \menu{open \ldots \go workspace} para criar uma nova área de trabalho (\foreign{workspace}).}
97\dothis{Clique com o \foreign{mouse} no fundo da janela principal para mostrar o \foreign{world menu}, e então escolha \menu{open \ldots \go workspace} para criar uma novo \foreign{workspace} (\foreign{workspace}).}
9898
9999\begin{figure}[tbh]
100100 \centering
128128
129129O \emphind{botão amarelo} é o segndo mais usado dos botões do \foreign{mouse}; é usado para chamar o \foreign{menu} contextual, isto é, um \foreign{menu} com um conjunto diferente de ações dependendo do objeto que está sendo clicado; veja a \figref{threeButtons:yellow}.
130130
131\dothis{Digite \ct{Time now} na janela de trabalho.
131\dothis{Digite \ct{Time now} no \foreign{workspaces}.
132132Depois disso, clique com o botão amarelo na janela e selecione \menu{print it}.}
133133
134134Finalmente, há o \emphind{botão azul}, que é usado para ativar o ``\subind{Morphic}{halo}''. O halo é um conjunto de ícones que aparecem ao redor de um objeto selecionado e são usados para realizar operações sobre o mesmo como rotação e redimensionamento; veja a \figref{threeButtons:blue}. Se você parar o \foreign{mouse} sobre um dos ícones, você verá um dica sobre sua função.
135135
136\dothis{Clique com o botão azul sobre a janela de trabalho.
136\dothis{Clique com o botão azul sobre o \foreign{workspaces}.
137137Segure o ícone \raisebox{-0.4ex}{\includegraphics[width=1em]{morphicRotate}} perto do canto inferior esquerdo e o arraste para rotacionar a janela.}
138138
139139Nós recomendamos que pessoas canhotas cnfigurem seu \foreign{mouse} para colocar o \ind{botão vermelho} no lado esquerdo do \foreign{mouse}, o \ind{botão amarelo} no lado direito, e usem uma \foreign{scroll wheel} clicável, se houver uma, para o \ind{botão azul}. Se você não possui uma \foreign{scroll wheel}, você pode acessar o halo segurando a tecla \ct{alt} ou \ct{option} enquanto clica com o \ind{botão vermelho}. Se você está usando um Mac sem um segundo botão do mouse, você pode simular um segurando a tecla \clover{} enquanto clica. Entrentanto, se você vai usar o \sq freqüentemente, recomendamos que você invista em um \foreign{mouse} mais adequado.
160160O \foreign{menu} \menu{World} lhe oferece uma maneira simples de acessar muitas das ferramentas que o \sq oferece.
161161
162162\dothis{Olhe as opções oferecidas pelo \foreign{menu} \menu{world\go{}open \ldots}.}
163Você verá uma lista de várias das principais ferramentas em \sq, incluindo o \foreign{system browser}, a ferramenta que permite navegar entre as classes do \sq, e o \foreign{workspace}, ou seja, a janela de trabalho.
163Você verá uma lista de várias das principais ferramentas em \sq, incluindo o \foreign{system browser}, a ferramenta que permite navegar entre as classes do \sq, e o \foreign{workspace}, ou seja, a área de trabalho.
164164Você encontrará a maioria dessas ferramentas nos capítulos adiante.
165165
166166\begin{figure}[htb]
230230\end{figure}
231231
232232%=================================================================
233\section{Workspaces and Transcripts}
233\section{\foreign{Workspaces} e \foreign{Transcripts}}
234234\label{sec:transcript}
235235
236\dothis{Close all open windows. Click on the \menu{Tools} tab at the far right of the \sq environment to open the \toolsflapind.}
237You will see icons for some of the key tools in \sq (\figref{tools}).
238Drag out a \ind{transcript} and a \ind{workspace}.
236\dothis{Feche todas as janelas abertas. Clique na aba \menu{Tools} no canto direito do ambiente \sq e abra o \toolsflapind.}
237Você verá os ícones para algumas das ferramentas chaves do \sq (\figref{tools}).
238Arraste um \ind{transcript} e \ind{workspace}.
239239
240\dothis{Position and resize the transcript and workspace windows so that the workspace just overlaps the transcript.}
241You can resize windows either by dragging one of the corners, or by blue-clicking the window to bring up the morphic handles, and dragging the yellow, bottom right handle.
240\dothis{Posicione e aumente o \foreign{transcript} e o \foreign{workspace} dentro do \sq de modo que os dois estejam visíveis e um deles se sobrepondo ligeiramente ao outro.}
241Você pode redimensionar janelas arrastando um dos cantos, ou clicando na mesma com o botão azul para exibir os halos e escolhendo o ícone amarelo do canto inferior direito.
242242
243At any time only one window is active; it is in front and has its label highlighted. The mouse cursor must be in the window in which you wish to type.
243A qualquer momento somente um janela está ativa; é a que está na frente das mais e que tem o seu nome em foco. O curso do \foreign{mouse} deve estar sobre a janela se você deseja escrever sobre a mesma.
244244
245The transcript is an object that is often used for logging system messages.
246It is a kind of ``system console''.
247Note that the transcript is terribly slow, so if you keep it open and write to it certain operations can become 10 times slower.
248In addition the transcript is not thread-safe so you may experience strange problems if multiple objects write concurrently to the transcript.
245O \foreign{transcript} é um objeto que é geralmente usada para registrar mensagens do sistema. É uma espécie de \foreign{``console''} do sistema. Note que ele é bem lento para operações que exigem melhor reposta; se você deixá-lo aberto e escrever no mesmo, algumas operações poderão ficar até dez vezes mais lentas. Em adição, o \foreign{transcript} não é reentrante, ou seja, você pode experimentar problemas se múltiplos objetos tentarem escrever concorrentemente no mesmo.
249246
250Workspaces are useful for typing snippets of \st code that you would like to experiment with.
251You can also use workspaces simply for typing arbitrarily text that you would like to remember, such as to-do lists or instructions for anyone who will use your image.
252Workspaces are often used to hold documentation about a captured image, as is the case with the standard image that we downloaded earlier (see \figref{startup}).
247\foreign{Workspaces} são bem úteis para digitar pequenos pedaços de código \sq que você deseja experimentar.
248Você também pode usar \foreign{workspaces} simplesmente para guardar texto que gostaria de relembrar depois, como listas de coisas a fazer ou instruções para usuários de sua imagem.
249Além disso, \foreign{workspaces} também são usados para manter documentação sobre uma imagem capturada, como no caso da imagem padrão que baixamos anteriormente (veja a \figref{startup}).
253250
254\dothis{Type the following text into the workspace:}
251\dothis{Digite o seguinte texto no \foreign{workspace}:}
255252\begin{code}{}
256253Transcript show: 'hello world'; cr.
257254\end{code}
258255
259256%\begin{figure}[htb]
260257%\centerline {\includegraphics[width=0.6\textwidth]{HelloWorld}}
261%\caption{Overlapping windows. The workspace is active.\label{fig:helloworld}}
258%\caption{Janelas sobrepostas. O \foreign{workspace} está ativo.\label{fig:helloworld}}
262259%\end{figure}
263260
264Try double-clicking in the workspace at various points in the text you have just typed.
265Notice how an entire word, entire string, or the whole text is selected, depending on where you click.
261Tente dar um duplo clique no \foreign{workspace} em vários pontos do texto que você acabou de gitiar.
262Note como a palavra toda, o contexto, ou mesmo todo o texto são selecionados dependendo de onde você clicar..
266263
267\dothis{Select the text you have typed and yellow-click.
268Select \menu{do it (d)}.}
269Notice how the text ``hello world'' appears in the transcript window
264\dothis{Selecione todo o texto que você digitou e clique com o botão amarelo.
265Selecione o \foreign{menu} \menu{do it (d)}.}
266Note como o texto ``hello world'' aparece no \foreign{transcript}
270267(\figref{doit}).
271Do it again.
272(The \menu{(d)} in the menu item \menu{do it (d)} tells you that the keyboard shortcut to \emph{do it} is \short{d}. More on this in the next section!)
268Execute o código novamente.
269(O \menu{(d)} no \foreign{menu} \menu{do it (d)} indica que o atalho de teclado que você pode usar para ativar a a opção \emph{do it} é \short{d}. Mais sobre isso na próxima seção)
273270
274271\begin{figure}[htb]
275272\ifluluelse
276273 {\centerline {\includegraphics[width=\textwidth]{Doit}}}
277274 {\centerline {\includegraphics[scale=0.7]{Doit}}}
278\caption{``Doing'' an expression\label{fig:doit}}
275\caption{``Executando'' uma expressão\label{fig:doit}}
279276\end{figure}
280277
281You have just evaluated your first \st expression!
282You just sent the message \ct{show: 'hello world'} to the \ct{Transcript} object, followed by the message \ct{cr} (carriage return).
283The \ct{Transcript} then decided what to do with this message, that is, it looked up its \emph{methods} for handling \ct{show:} and \ct{cr} messages and reacted appropriately.
284
285If you talk to Smalltalkers for a while, you will quickly notice that they generally do not use expressions like ``call an operation'' or ``invoke a method'', but instead they will say ``send a message''.
286This reflects the idea that objects are responsible for their own actions.
287You never \emph{tell} an object what to do\,---\,instead you politely \emph{ask} it to do something by sending it a message.
288The object, not you, selects the appropriate method for responding to your message.
278Você acabou de executar a sua primeira expressão em \st!
279O que você fez foi enviar a mensagem \ct{show: 'hello world'} ao objeto \ct{Transcript}, seguida pela mensagem \ct{cr} (quebra de linha).
280O \ct{Transcript} então decidiu o que fazer com a mensagem, isto é, verificou em seus \emph{métodos} como lidar com as mensagens \ct{show:} e \ct{cr} e reagiu apropriadamente.
289281
282Se você conversar com pessoas que usam \sq regularmente, você notará rapidamente que elas não usam expressões como ``invocar uma operação'' ou ``invocar um método''; ao contrário, elas sempre dizem ``enviar uma mensagem''.
283Isto relete a idéia que objetos são responsáveis por suas próprias ações.
284Você nunca \emph{diz} a um objeto o que fazer; você \emph{pede} polidamente que ele faça alguma coisa enviando uma mensagem para o mesmo.
285O objeto, não você, seleciona o método apropriado para responder a sua mensagem.
290286
291287%=================================================================
292\section{Keyboard shortcuts}
288\section{Atalhos de teclado}
293289
294If you want to evaluate an expression, you do not always have to bring up the yellow-button menu. Instead, you can use \ind{keyboard shortcuts}. These are the parenthesized expressions in the menu. Depending on your platform, you may have to press one of the modifier keys (control, alt, command, or meta).
295(We will indicate these generically as \short{\emph{key}}.)
290Você você deseja executar uma expressão, você não é obrigado a usar o \foreign{mouse} a todo momento. Ao invés disso, você pode usar \ind{atalhos de teclado}, que são as letras entre parênteses que estão ao lado dos \foreign{menus}. Dependendo da plataforma que você estiver usando, você precisará de acionar uma tecla modificadora junta com o atalho (\foreign{control}, \foreign{alt}, \foreign{command} ou \foreign{meta}).
291(Nós indicaremos esses atalhos genericamente como \short{\emph{tecla}}.)
296292
297\dothis{Evaluate the expression in the workspace again, but using the keyboard shortcut: \short{d}.}
298\index{keyboard shortcut!do it}
293\dothis{Execute a expressão no \foreign{workspace} novamente usando o atalho apropriado: \short{d}.}
294\index{atalhos de teclado!do it}
299295
300In addition to \menu{do it}, you will have noticed \menu{print it}, \menu{inspect it} and \menu{explore it}. Let's have a quick look at each of these.
296Em adição ao \foreign{menu} \menu{do it}, você provavelmente noto também os \foreign{menus} \menu{print it}, \menu{inspect it} e \menu{explore it}. Vamos verificar rapidamente o que cada um deles faz.
301297
302\dothis{Type the expression \ct{3 + 4} into the workspace. Now \menu{do it} with the keyboard shortcut.}
298\dothis{Digite a expressão \ct{3 + 4} no \foreign{workspace}. Agora execute \menu{do it} com o atalho.}
303299
304Do not be surprised if you saw nothing happen! What you just did is send the message \ct{+} with argument \ct{4} to the number \ct{3}. Normally the result \ct{7} will have been computed and returned to you, but since the workspace did not know what to do with this answer, it simply threw the answer away. If you want to see the result, you should \menu{print it} instead. \menu{print it} actually compiles the expression, executes it, sends the message \ct{printString} to the result, and displays the resulting string.
300Não fique surpreso ao ver que nada aconteceu. O que você fez foi simplesmente enviar a mensagem \ct{+} com o argumento \ct{4} para o número \ct{3}. Normalmente, o resultado \ct{7} será computador e retornado para você. Mas nesse caso, já que o \foreign{workspace} não sabe o que fazer com a resposta, ele simplesmente a ignorou. Se você deseja ver o resultado, você deve usar o \foreign{menu} \menu{print it} ao invés de \menu{do it}. O \foreign{menu} \menu{print it} compila a expressão, a executa, envia a mensagem \ct{printString} parao resultado e mostra o texto resultante no próprio local onde foi invocada.
305301
306\dothis{Select \ct{3+4} and \menu{print it} (\short{p}).}
307This time we see the result we expect (\figref{printit}).
308\index{keyboard shortcut!print it}
302\dothis{Selecione \ct{3+4} e use \menu{print it} (\short{p}).}
303Desta vez você verá o valor esperado na (\figref{printit}).
304\index{atalhos de teclado!print it}
309305
310306\begin{figure}[htb]
311307% \centerline {\includegraphics[width=0.4\textwidth]{PrintIt}}
312308\centerline {\includegraphics[scale=0.7]{PrintIt}}
313\caption{``Print it'' rather than ``do it''. \label{fig:printit}}
309\caption{``Print it'' ao invés de ``do it''. \label{fig:printit}}
314310\end{figure}
315311
316312\needlines{3}
3143143 + 4 --> 7
315315\end{code}
316316\noindent
317We use the notation \ct{-->} as a convention in this book to indicate that a particular \sq expression yields a given result when you \menu{print it}.
317Nós usamos a notação \ct{-->} como uma convenção neste livro para indicar que uma expressão \sq em particular gera aquele resultado quando você usa o \foreign{menu} \menu{print it}.
318318
319\dothis{Delete the highlighted text ``\ct{7}'' (\sq should have selected it for you, so you can just press the delete key). Select \ct{3+4} again and this time \menu{inspect it} (\short{i}).}
319\dothis{Exclua o texto em foco ``\ct{7}'' (o \sq o selecione para você de modo que você possa simplesmente excluí-lo. Selecione \ct{3+4} novamente e desta vez use o \foreign{menu} \menu{inspect it} (\short{i}).}
320320\noindent
321Now you should see a new window, called an \emphind{inspector}, with the heading \ct{SmallInteger: 7} (\figref{inspectit}).
322The inspector is an extremely useful tool that will allow you to browse and interact with any object in the system.
323The title tells us that \ct{7} is an instance of the class \clsind{SmallInteger}.
324The left panel allows us to browse the instance variables of an object, the values of which are shown in the right panel.
325The bottom panel can be used to write expressions to send messages to the object.
321Agora você verá uma nova janela, chamada de \emphind{inspector} (inspetor), com o cabeçalho \ct{SmallInteger: 7} (\figref{inspectit}).
322O inspetor é uma ferramenta muito útil que permite que você acesse e interaja com qualquer objeto no sistema.
323O título lhe diz que \ct{7} é uma instância da classe \clsind{SmallInteger}.
324O painel esquerdo permite que você acesse as variáveis de instância do objeto, cujos valores são mostrados no painel direito.
325O painel inferior pode ser usado para escrever expressões que serão enviadas para o objeto selecionado.
326326
327327\begin{figure}[htb]
328328\centerline {\includegraphics[scale=0.7]{InspectIt}}
329\caption{Inspecting an object. \label{fig:inspectit}}
329\caption{Inspecionando um objeto. \label{fig:inspectit}}
330330\end{figure}
331331
332\dothis{Type \ct{self squared} in the bottom panel of the inspector on \ct{7} and \menu{print it}.}
332\dothis{Digite \ct{self squared} no painel inferior do objeto que está exibindo \ct{7} e execute \menu{print it}.}
333333
334334\needlines{2}
335\dothis{Close the inspector. Type the expression \ct{Object} in a workspace and this time \menu{explore it} (\short{I}, uppercased i).}
336\index{keyboard shortcut!explore it}
335\dothis{Feche o \foreign{inspector}. Digite a expressão \ct{Object} em um \foreign{workspace} e desta vez escolha a opção \menu{explore it} (\short{I}).}
336\index{atalhos de teclado!explore it}
337337\index{explorer}
338338
339339This time you should see a window labelled \clsind{Object} containing the text
toggle raw diff