Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: gh-pages
Fetching contributors…

Cannot retrieve contributors at this time

file 95 lines (82 sloc) 8.314 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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
<head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <title>Resumo 4</title>
   <meta name="author" content="" />

   <!--- Blueprint CSS Framework -->
   <link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
   <link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
   <!--[if IE]>
<link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection">
<![endif]-->

   <!-- CodeRay syntax highlighting CSS -->
   <link rel="stylesheet" href="css/coderay.css" type="text/css" />

   <!-- Homepage CSS -->
   <link rel="stylesheet" href="css/site.css" type="text/css" media="screen, projection" />
</head>
<body>

<div class="container">
   <div class="column span-22 prepend-1 append-1 first last" id="header">
     <h1 class="title"><a href="index.html" alt="voltar para o início">Tutorial de Ruby do GURU-SP</a></h1>
     <hr>
   </div>

   <div class="column span-17 prepend-1 first">
      <p class="title">Resumo 4</p>
<ol>
<li>Um Array é uma lista de itens em ordem. Cada lacuna na lista atua como uma variável: você pode ver a qual objeto uma lacuna aponta, e você pode fazer ela apontar para um objeto diferente. Você pode criar um array usando colchetes []</li>
<li>Arrays são indexados por números inteiros e o índice inicia em 0.</li>
<li>Você pode acessar um Array além dos seus limites; ele retornará nil.</li>
<li>Uma vírgula sobrando na declaração de um array é ignorada (Ex: [1, 2, 3,])</li>
<li>Refira-se a <a href="http://ruby-doc.org/core/classes/Array.html">documentação da classe Array</a> para uma lista de métodos.</li>
<li>Podemos adicionar novos elementos a um Array existente.</li>
<li>O método each (para cada objeto) é um iterador que extrai cada elemento do array. O método each permite que façamos o que quisermos com cada um dos objetos que o array aponta.</li>
<li>A variável entre as barras verticais, isto é, | | refere-se a cada item no array a medida que ele é iterado no loop. Você pode dar a essa variável o nome que desejar.</li>
<li>Sequências tem um ponto de início, de término e um modo de produzir valores sucessivos na sequência. No Ruby, essas sequências são criadas usando os operadores de intervalo <strong>&#8220;..&#8221;</strong> e <strong>&#8220;&#8230;&#8221;</strong>.</li>
<li>A forma com os dois pontos cria um intervalo inclusivo, e a forma com três pontos cria um intervalo exclusivo, excluindo o valor mais alto do intervalo.</li>
<li>No Ruby, a sequência <strong>1..100000</strong> é armazenada como um objeto do tipo <strong>Range</strong> contendo referências a dois objetos <strong>Fixnum</strong>.</li>
<li>O método <strong>.to_a</strong> converte um Range em um <strong>Array</strong>.</li>
<li>Outro uso versátil do range é no teste de um intervalo: ver se um valor está dentro do intervalo representado pelo range. Fazemos isso usando <strong>===</strong>, o operador de igualdade de caso.</li>
<li>Ranges não estão limitados a inteiros ou números. O início e o fim de um intervalo pode ser qualquer objeto Ruby.</li>
<li>Um símbolo (symbol) parece com um nome de variável mas é prefixado com dois pontos.</li>
<li>Você pode pensar em <strong>:id</strong> como significando o nome da variável id, e <strong>id</strong> (sem os dois pontos) como o valor da variável.</li>
<li>Símbolos são úteis porque um nome de símbolo se refere ao mesmo objeto ao longo de um programa Ruby.</li>
<li>Símbolos podem ser considerados constantes sem valores.</li>
<li>Símbolos são mais eficientes que strings. Duas strings com o mesmo conteúdo são dois objetos diferentes, mas para qualquer nome, existe apenas um objeto <strong>Symbol</strong>. Isso pode economizar tanto tempo quanto memória.</li>
<li>Quando usamos uma string ou um símbolo?
<ol>
<li>Se o conteúdo (a sequência de caracteres) do objeto é importante, use uma string.</li>
<li>Se a identidade do objeto é importante, use um símbolo.</li>
</ol></li>
<li>Um objeto do tipo símbolo é criado prefixando um operador, string, variável, constante, método, nome de módulo com dois pontos.</li>
<li>Se <strong>Fred</strong> é uma constante em um contexto, um método em outro e uma classe em um terceiro, o Símbolo <strong>:Fred</strong> será o mesmo objeto nos três contextos.</li>
<li>Hashes são similares a arrays por representarem uma coleção indexada de referências a objetos. Entretanto, enquanto você indexa os arrays com inteiros, você pode indexar um hash com objetos de qualquer tipo: strings, expressões regulares e assim por diante.</li>
<li>Quando você armazena um valor em um hash, você realmente provê dois objetos &#8211; o índice (normalmente chamado chave ou key) e o valor.</li>
<li>nil é retornado quando se tenta acessar uma chave que não existe no hash.</li>
<li>O método para obter um número escolhido aleatoriamente no Ruby é o rand.</li>
<li>Se você chamar rand você obterá um float maior ou igual a 0.0 e menor que 1.0. Se você der a ele um inteiro como parâmetro de entrada (chamando, por exemplo, <strong>rand(5)</strong>), você obterá um inteiro maior ou igual a 0 e menor que 5.</li>
<li>O método <strong>File.open</strong> pode abrir um arquivo em modos diferentes como <strong>&#8216;r&#8217;</strong> (somente leitura, iniciando no começo do arquivo (padrão)); <strong>&#8216;r+&#8217;</strong> (Escrita/leitura, inicia no começo do arquivo); <strong>&#8216;w&#8217;</strong> (somente escrita), troca o arquivo existente para o tamanho vazio ou cria um novo arquivo para escrita.</li>
<li><strong>File.open</strong> abre um novo arquivo se não há nenhum bloco associado. Se o bloco é dado, ele passará o arquivo como um argumento, e o arquivo será automaticamente fechado quando o bloco terminar.</li>
<li>Sempre feche um arquivo que você abrir. No caso de um arquivo aberto para escrita, isso é muito importante e pode realmente prevenir uma perda de dados.</li>
<li>O método <strong>seek</strong> (procurar) da classe <strong>IO</strong>, busca por um dado offset de um Inteiro (primeiro parâmetro ou método) no stream de acordo com o valor do segundo parâmetro no método. O segundo parâmetro pode ser IO::SEEK_CUR &#8211; busca o número inteiro do primeiro parâmetro mais o valor da posição atual; IO:SEEK_END &#8211; busca o número inteiro do primeiro parâmetro mais o valor do final do stream (você provavelmente quer um valor negativo para o número inteiro do primeiro parâmetro); IO:SEEK_SET &#8211; Busca a posição absoluta dada pelo número inteiro do primeiro parâmetro.</li>
</ol>
<div class="pagination"><a href="expressoes-regulares.html">Expressões Regulares &gt;</a></div>
   </div>

   <div class="column span-5 append-1 last">

      <p><a href="http://www.guru-sp.org" title="Grupo de Usuários Ruby de SP"><img src="images/logo_guru-sp.jpg" title="Logo do GURU-SP" alt="Logo do Guru-SP" /></a></p>

      <div class="box">
         <p>Este material tem como base o <a href="http://www.rubylearning.com" title="Ruby Learning">tutorial do RubyLearning.com de Satish Talim</a> e foi traduzido por membros do <a href="http://www.guru-sp.org" title="Grupo de Usuários Ruby de SP">GURU-SP</a> com a permissão do autor.</p>
        <p class="last">Ajude o RubyLearning participando em algum dos <a href="http://www.rubylearning.org" title="cursos do Ruby Learning">cursos pagos</a> ou <a href="http://pledgie.com/campaigns/415" title="Ajude o Ruby Learning">fazendo uma doação para o projeto</a></p>
      </div>

      <p class="quiet"><a href="index.html" title="índice">Voltar para o índice</a></p>

      <h5></h5>
      <p class="incr"></p>
   </div>

   <div class="column span-22 prepend-1 append-1 first last" id="footer">
     <hr />
     <p>Tuturial de Ruby do <a href="http://www.guru-sp.org" title="Grupo de Usuários Ruby de SP">GURU-SP</a>. Este site foi criado com <a href="http://webby.rubyforge.org">Webby</a></p>
   </div>

</div>
</body>
</html>
Something went wrong with that request. Please try again.