-
Notifications
You must be signed in to change notification settings - Fork 11
/
sumario-ruby4.html
95 lines (82 loc) · 8.12 KB
/
sumario-ruby4.html
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>“..”</strong> e <strong>“…”</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 – 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>‘r’</strong> (somente leitura, iniciando no começo do arquivo (padrão)); <strong>‘r+’</strong> (Escrita/leitura, inicia no começo do arquivo); <strong>‘w’</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 – busca o número inteiro do primeiro parâmetro mais o valor da posição atual; IO:SEEK_END – 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 – 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 ></a></div>
</div>
<div class="column span-5 append-1 last">
<p><a href="http://www.gurusp.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.gurusp.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.gurusp.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>